*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--yellow:#ffc80c;--yellow-light:#fff8e1;--yellow-dark:#e6b200;--black:#0d0d0d;--gray-900:#1a1a1a;--gray-700:#3d3d3d;--gray-500:#6b6b6b;--gray-300:#c4c4c4;--gray-100:#f5f5f5;--gray-50:#fafafa;--gray-400:#9ca3af;--white:#ffffff;--blue:#1a56db;--green:#057a55;--purple:#7e3af2;--red:#c81e1e;--border:#e8e8e8;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow:0 4px 12px rgba(0,0,0,.08);--shadow-lg:0 8px 32px rgba(0,0,0,.12);--radius:8px;--radius-sm:4px;--radius-lg:12px;font-size:17px}
body{font-family:-apple-system,BlinkMacSystemFont,'Inter','Segoe UI',sans-serif;color:var(--gray-900);background:var(--gray-50);line-height:1.5}
a{color:inherit;text-decoration:none}
input,select,button,textarea{font-family:inherit;font-size:inherit}
code{font-family:'SF Mono','Fira Code',monospace;font-size:.85em}
.topnav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 24px;background:var(--white);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}
.topnav-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;color:var(--black)}
.topnav-brand img{height:32px;width:auto}
.topnav-brand em{font-style:normal;color:var(--gray-500);font-weight:400;font-size:.85em}
.topnav-right{display:flex;align-items:center;gap:12px}
.nav-user{font-size:.875rem;color:var(--gray-500)}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-weight:500;font-size:.875rem;border:none;cursor:pointer;transition:all .15s;white-space:nowrap}
.btn-primary{background:var(--yellow);color:var(--black)}.btn-primary:hover{background:var(--yellow-dark)}
.btn-ghost{background:transparent;color:var(--gray-700);border:1px solid var(--border)}.btn-ghost:hover{background:var(--gray-100)}
.btn-danger{background:transparent;color:var(--red);border:1px solid transparent}.btn-danger:hover{background:#fef2f2;border-color:#fca5a5}
.btn-sm{padding:6px 12px;font-size:.8125rem}.btn-xs{padding:3px 8px;font-size:.75rem}.btn-full{width:100%;justify-content:center}
.btn-accredito{background:var(--black);color:var(--yellow);font-weight:700;padding:10px 24px;border-radius:var(--radius);font-size:.875rem;border:none;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center}
.btn-accredito:hover{background:#333}
.btn-accredito-free{background:var(--white);color:var(--black);font-weight:700;padding:10px 24px;border-radius:var(--radius);font-size:.875rem;border:2px solid var(--black);white-space:nowrap;display:inline-flex;align-items:center}
.btn-accredito-sm{background:var(--yellow);color:var(--black);font-weight:600;padding:3px 8px;font-size:.75rem;border:none;cursor:pointer;border-radius:var(--radius-sm)}
.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:.75rem;font-weight:600}
.badge-blue{background:#e0edff;color:#1a56db}.badge-green{background:#d1fae5;color:#065f46}
.badge-purple{background:#ede9fe;color:#5b21b6}.badge-yellow{background:var(--yellow-light);color:#92400e}
.badge-neutral{background:var(--gray-100);color:var(--gray-700)}
.accredito-banner{padding:12px 24px 0}
.accredito-banner-content{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-radius:var(--radius-lg)}
.accredito-pay .accredito-banner-content{background:linear-gradient(135deg,#0d0d0d,#2d2d2d);color:var(--white)}
.accredito-free .accredito-banner-content{background:var(--yellow-light);border:2px solid var(--yellow);color:var(--black)}
.accredito-banner-text{display:flex;flex-direction:column;gap:6px;flex:1}
.accredito-banner-title{font-size:1rem;font-weight:700}
.accredito-pay .accredito-banner-title{color:var(--yellow)}
.accredito-banner-desc{font-size:.8125rem;line-height:1.5;opacity:.85;max-width:600px}
.accredito-pay .accredito-banner-desc{color:rgba(255,255,255,.8)}
.accredito-banner-action{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0}
.accredito-price{font-size:2rem;font-weight:800;line-height:1;color:var(--yellow)}
.accredito-free .accredito-price{color:var(--green);font-size:1.2rem}
.auth-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f8f8,#fffdf0)}
.auth-container{width:100%;max-width:420px;padding:24px}
.auth-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:32px}
.auth-logo img{height:40px}
.auth-logo-text{font-size:1.4rem;font-weight:700;color:var(--black)}
.auth-card{background:var(--white);border-radius:var(--radius-lg);padding:36px 32px;box-shadow:var(--shadow-lg);border:1px solid var(--border)}
.auth-title{font-size:1.5rem;font-weight:700;margin-bottom:4px}
.auth-sub{color:var(--gray-500);font-size:.875rem;margin-bottom:28px}
.auth-error{background:#fef2f2;color:var(--red);border:1px solid #fca5a5;border-radius:var(--radius);padding:10px 14px;margin-bottom:20px;font-size:.875rem}
.auth-footer{text-align:center;margin-top:20px;font-size:.8125rem;color:var(--gray-500)}
.field-group{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.field-group label{font-size:.8125rem;font-weight:500;color:var(--gray-700)}
.field-group input,.field-group select,.field-group textarea{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--gray-900);transition:border-color .15s;outline:none}
.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,200,12,.15)}
.field-group input::placeholder,.field-group textarea::placeholder{color:var(--gray-300)}
.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-main{max-width:1280px;margin:0 auto;padding:32px 24px}
.page-header{margin-bottom:28px}
.page-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.3px}
.page-header p{color:var(--gray-500);font-size:.875rem;margin-top:2px}
.two-col{display:grid;grid-template-columns:380px 1fr;gap:24px;align-items:start}
.panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.panel-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px}
.panel-header h2{font-size:1rem;font-weight:600}
.panel-body{padding:24px}
.panel-scroll{padding:0;max-height:600px;overflow-y:auto}
.data-table{width:100%;border-collapse:collapse;font-size:.875rem}
.data-table th{text-align:left;padding:11px 16px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-500);border-bottom:1px solid var(--border);background:var(--gray-50)}
.data-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:var(--gray-50)}
.row-inactive td{opacity:.5}
.user-name{display:block;font-weight:500}.user-email{display:block;font-size:.75rem;color:var(--gray-500)}
.actions-cell{display:flex;gap:4px;align-items:center}
.status-dot{display:flex;align-items:center;gap:5px;font-size:.8125rem}
.status-dot::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%}
.status-dot.active::before{background:#10b981}.status-dot.inactive::before{background:var(--gray-300)}
.tab-bar{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:28px}
.tab-btn{padding:10px 20px;border:none;background:none;font-size:.9rem;font-weight:500;color:var(--gray-500);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;border-radius:var(--radius) var(--radius) 0 0;transition:all .15s}
.tab-btn:hover{color:var(--black);background:var(--gray-50)}.tab-btn.active{color:var(--black);border-bottom-color:var(--yellow);font-weight:600}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;display:flex;flex-direction:column;gap:4px}
.stat-label{font-size:.8125rem;color:var(--gray-500);font-weight:500}.stat-num{font-size:2rem;font-weight:700;color:var(--black);line-height:1}
.stat-card-yellow{border-left:3px solid var(--yellow)}
.csv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.csv-dropzone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:28px 20px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:border-color .15s,background .15s}
.csv-dropzone:hover,.csv-dropzone.drag-over{border-color:var(--yellow);background:var(--yellow-light)}
.csv-drop-icon{font-size:1.8rem}.csv-drop-label{font-size:.875rem;color:var(--gray-500)}
.csv-preview{max-height:200px;overflow:auto;border-radius:var(--radius);border:1px solid var(--border)}
.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.cat-list{list-style:none;margin-bottom:16px}
.cat-item{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--border);font-size:.875rem}
.cat-item:last-child{border-bottom:none}.cat-empty{padding:16px 0;color:var(--gray-400);font-size:.875rem}
.cat-add-form{margin-top:8px}.cat-add-row{display:flex;gap:8px}
.cat-add-row input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;outline:none}
.cat-add-row input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,200,12,.15)}
.alert{padding:12px 16px;border-radius:var(--radius);margin-bottom:20px;font-size:.875rem;font-weight:500}
.alert-ok{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}
.alert-err{background:#fef2f2;color:var(--red);border:1px solid #fca5a5}
.role-filter.active{background:var(--yellow-light);border-color:var(--yellow);color:var(--black);font-weight:600}
.msg-counter-box{display:flex;align-items:center;gap:6px;background:var(--yellow-light);border:1px solid var(--yellow);border-radius:var(--radius);padding:5px 12px;font-size:.8125rem;color:var(--gray-700)}
.msg-counter-box strong{font-size:1rem;font-weight:700;color:var(--black)}
.admin-form .btn{margin-top:4px}
.dash-layout{display:flex;min-height:calc(100vh - 56px)}
.sidebar{width:220px;flex-shrink:0;background:var(--white);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto;padding:24px 0}
.sidebar-section-label{padding:0 20px 6px;font-size:.75rem;font-weight:800;color:var(--black);letter-spacing:.6px;margin-bottom:4px}
.sidebar-group-label{padding:14px 20px 4px;font-size:.7rem;font-weight:700;color:var(--black);letter-spacing:.6px;text-transform:uppercase}
.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 12px}
.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--gray-700);transition:all .12s;cursor:pointer}
.sidebar-link:hover{background:var(--gray-100)}
.sidebar-link.active{background:var(--yellow-light);color:var(--black);font-weight:600}
.sidebar-link.active::before{content:'';display:block;width:3px;height:16px;background:var(--yellow);border-radius:2px;margin-right:-2px}
.sidebar-link-locked{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);font-size:.875rem;color:var(--gray-400)}
.sidebar-icon{font-size:1rem}
.sidebar-bottom{margin-top:auto;padding:16px 20px 0;border-top:1px solid var(--border)}
.sidebar-user-info{font-size:.75rem;color:var(--gray-400);word-break:break-all}
.dash-main{flex:1;padding:32px;min-width:0}
.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
.dash-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.3px}
.dash-count{font-size:.8125rem;color:var(--gray-500);margin-top:2px}
.filter-bar{margin-bottom:24px}
.filter-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.search-wrap{position:relative}
.search-input{padding:8px 12px 8px 36px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);font-size:.875rem;width:220px;outline:none;transition:border-color .15s}
.search-input:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,200,12,.15)}
.search-wrap::before{content:'⌕';position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--gray-300);font-size:1rem;pointer-events:none}
.filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);font-size:.875rem;color:var(--gray-700);cursor:pointer;outline:none}
.filter-select:focus{border-color:var(--yellow)}
.cards-grid{display:flex;flex-direction:column;gap:8px}
.result-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .15s,box-shadow .15s}
.result-card:hover{border-color:var(--yellow);box-shadow:var(--shadow-sm)}
.result-card.card-open{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,200,12,.1)}
.card-head{display:flex;align-items:center;gap:12px;padding:16px 20px;cursor:pointer}
.card-title-group{flex:1;min-width:0}
.card-name{display:block;font-weight:600;font-size:.9375rem}
.card-sub{display:block;font-size:.8125rem;color:var(--gray-500);margin-top:1px}
.card-tag{flex-shrink:0}
.card-chevron{color:var(--gray-300);font-size:1.2rem;flex-shrink:0;transition:transform .2s;line-height:1}
.card-detail{padding:0 20px 20px;border-top:1px solid var(--border);margin-top:-1px}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding-top:16px}
.detail-row{display:flex;flex-direction:column;gap:3px}
.detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--gray-400)}
.detail-value{font-size:.875rem;color:var(--gray-900)}
.detail-value a{color:var(--blue);text-decoration:underline}
.card-actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);display:flex;gap:10px;flex-wrap:wrap}
.empty-state{text-align:center;padding:64px 24px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg)}
.empty-state span{display:block;font-size:1rem;font-weight:600;color:var(--gray-700)}
.empty-state p{color:var(--gray-400);font-size:.875rem;margin-top:6px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}
.kpi-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px;display:flex;flex-direction:column;gap:8px}
.kpi-card-icon{font-size:1.5rem}
.kpi-card-num{font-size:2.6rem;font-weight:800;color:var(--black);line-height:1;letter-spacing:-1px}
.kpi-card-label{font-size:.8125rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.4px}
.home-notif-section{margin-top:8px}
.section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.section-header h2{font-size:1.1rem;font-weight:700}
.home-notif-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:10px;cursor:pointer;transition:border-color .15s}
.home-notif-card:hover{border-color:var(--yellow)}
.home-notif-card.unread{border-left:3px solid var(--yellow);background:var(--yellow-light)}
.home-notif-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.home-notif-subject{font-weight:600;font-size:.9375rem}
.home-notif-date{font-size:.75rem;color:var(--gray-400)}
.home-notif-from{font-size:.8rem;color:var(--gray-500);margin-bottom:8px}
.home-notif-body{font-size:.875rem;color:var(--gray-700);white-space:pre-wrap}
.bell-btn{position:relative;background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius);display:flex;align-items:center}
.bell-btn:hover{background:var(--gray-100)}
.bell-icon{font-size:1.1rem}
.bell-badge{position:absolute;top:2px;right:2px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}
.notif-overlay{position:fixed;inset:0;z-index:200;background:transparent}
.notif-panel{position:fixed;top:56px;right:16px;z-index:201;width:360px;max-height:480px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}
.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:.9rem;flex-shrink:0}
.notif-list{overflow-y:auto;flex:1}
.notif-empty{padding:32px 16px;text-align:center;color:var(--gray-400);font-size:.875rem}
.notif-item{padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.notif-item:hover{background:var(--gray-50)}.notif-item.unread{background:var(--yellow-light)}.notif-item.unread:hover{background:#fff3c4}
.notif-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.notif-meta strong{font-size:.875rem}.notif-meta span{font-size:.75rem;color:var(--gray-400)}
.notif-from{font-size:.75rem;color:var(--gray-500);margin-bottom:4px}
.notif-msg{font-size:.8125rem;color:var(--gray-700);white-space:pre-wrap;max-height:60px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1000}
.modal{background:var(--white);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:400px;box-shadow:var(--shadow-lg)}
.modal h3{font-size:1.1rem;font-weight:700;margin-bottom:6px}
.modal p{color:var(--gray-500);font-size:.875rem;margin-bottom:20px}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
.form-feedback{padding:10px 14px;border-radius:var(--radius);margin-bottom:14px;font-size:.875rem}
.form-feedback.ok{background:#d1fae5;color:#065f46}.form-feedback.err{background:#fef2f2;color:var(--red)}
.profilo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px}
.profilo-field{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.profilo-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400)}
.profilo-value{font-size:.9375rem;color:var(--gray-900);font-weight:500}
.profilo-note{font-size:.8125rem;color:var(--gray-400);padding:12px 16px;background:var(--gray-50);border-radius:var(--radius);border:1px solid var(--border)}
.site-footer{text-align:center;padding:18px 24px;font-size:.8rem;color:var(--gray-400);border-top:1px solid var(--border);background:var(--white);margin-top:auto}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}
@media(max-width:900px){.two-col{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.csv-grid,.cat-grid{grid-template-columns:1fr}.dash-layout{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;flex-wrap:wrap;padding:12px}.sidebar-nav{flex-direction:row;flex-wrap:wrap}.sidebar-bottom{display:none}.dash-main{padding:20px 16px}.accredito-banner{padding:8px 16px 0}.accredito-banner-content{flex-direction:column;text-align:center}.accredito-banner-action{width:100%}.btn-accredito,.btn-accredito-free{width:100%;justify-content:center}}
@media(max-width:600px){.admin-main{padding:20px 16px}.stats-grid{grid-template-columns:1fr 1fr}.auth-card{padding:24px 20px}.two-fields{grid-template-columns:1fr}.search-input{width:100%}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card-num{font-size:2rem}}

/* ===== PROFILO EDIT ===== */
.profilo-edit-section{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:20px}
.profilo-edit-section-title{font-size:1rem;font-weight:700;margin-bottom:20px;color:var(--black)}
.profilo-edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.profilo-edit-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:16px}
.field-hint{font-size:.75rem;color:var(--gray-400);font-weight:400;margin-left:4px}
.file-input{padding:6px 0;border:none;background:none;font-size:.875rem;color:var(--gray-700);cursor:pointer}
.file-preview{margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.file-link{font-size:.8125rem;color:var(--blue);text-decoration:underline}
@media(max-width:700px){.profilo-edit-grid{grid-template-columns:1fr}}

/* ===== NUOVI ARRIVATI ===== */
.nuovi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 8px;
}
.nuovi-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s;
}
.nuovi-card:hover {
  border-color: var(--yellow);
  box-shadow: var(--shadow-sm);
}
.nuovi-card-logo {
  width: 52px; height: 52px; flex-shrink: 0;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  background: var(--gray-100);
}
.nuovi-card-logo img { width: 100%; height: 100%; object-fit: cover; }
.nuovi-card-initials {
  font-size: 1.4rem; font-weight: 700; color: var(--gray-400);
}
.nuovi-card-info {
  display: flex; flex-direction: column; gap: 5px; min-width: 0;
}
.nuovi-card-name {
  font-weight: 600; font-size: .9375rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nuovi-card-badge { align-self: flex-start; }
.nuovi-card-desc {
  font-size: .8rem; color: var(--gray-500); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.nuovi-locked-banner {
  background: var(--gray-100);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px;
  text-align: center;
  color: var(--gray-500);
  font-size: .9rem;
  font-weight: 500;
  margin-bottom: 8px;
}

/* ===== AZ LIST (profilo modifica) ===== */
.az-list { display: flex; flex-direction: column; gap: 12px; }
.az-list-item { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.az-list-item.az-editing { border-color: var(--yellow); box-shadow: 0 0 0 3px rgba(255,200,12,.1); }
.az-list-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; }
.az-list-title { display: flex; flex-direction: column; gap: 3px; }
.az-list-sub { font-size: .8125rem; color: var(--gray-500); }

@media (max-width: 900px) {
  .nuovi-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .nuovi-grid { grid-template-columns: 1fr; }
}

/* ===== CARD LOGO ===== */
.card-logo-wrap {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: var(--radius); overflow: hidden;
  border: 1px solid var(--border); background: var(--gray-50);
}
.card-logo { width: 100%; height: 100%; object-fit: cover; }

/* ===== HEART BUTTON ===== */
.heart-btn {
  background: none; border: none; cursor: pointer;
  font-size: 1.2rem; color: var(--gray-300);
  padding: 4px; border-radius: var(--radius-sm);
  transition: color .15s, transform .1s;
  flex-shrink: 0;
}
.heart-btn:hover { color: #ef4444; transform: scale(1.2); }
.heart-btn.active { color: #ef4444; }

/* ===== HEART BTN WITH TEXT ===== */
.heart-btn {
  background: none; border: 1px solid var(--border);
  cursor: pointer; font-size: .8125rem; font-weight: 500;
  color: var(--gray-500); padding: 5px 10px;
  border-radius: var(--radius); transition: all .15s;
  flex-shrink: 0; white-space: nowrap;
  display: inline-flex; align-items: center; gap: 4px;
}
.heart-btn:hover { border-color: #ef4444; color: #ef4444; background: #fef2f2; }
.heart-btn.active { border-color: #ef4444; color: #ef4444; background: #fef2f2; font-weight: 600; }

/* ===== PREFERITI FILTER BUTTON ===== */
.btn-fav-active {
  background: #fef2f2; color: #ef4444;
  border: 1px solid #ef4444; font-weight: 600;
}
.btn-fav-active:hover { background: #fee2e2; }
