/* =============================================================
   AVE Portale - Stili globali
   Palette: Bordeaux #592131, Oro #f1ad48, Sfondo #f7f5f3
   ============================================================= */
:root {
  --ave-burgundy:#592131;--ave-burgundy-dark:#3e1622;--ave-burgundy-mid:#6e2a3d;--ave-burgundy-light:#f5eaed;
  --ave-gold:#f1ad48;--ave-gold-light:#fdf3e0;--ave-gold-dark:#8a6000;
  --ave-bg:#f7f5f3;--ave-white:#ffffff;
  --ave-text:#1a1a1a;--ave-text-muted:#6b6b6b;--ave-text-dim:#a0a0a0;
  --ave-border:#e2ddd9;--ave-border-dark:#ccc7c2;
  --ave-success-bg:#edf7ed;--ave-success-text:#2e7d32;
  --ave-danger-bg:#fceaea;--ave-danger-text:#c0392b;
  --ave-info-bg:#e8f0fe;--ave-info-text:#1a56a0;--ave-info-border:#a8c4f8;
  --ave-radius:8px;--ave-radius-lg:12px;
  --ave-shadow:0 1px 3px rgba(89,33,49,0.06),0 1px 2px rgba(89,33,49,0.04);
  --ave-shadow-md:0 4px 16px rgba(89,33,49,0.10);
  --ave-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* WRAP */
.ave-wrap{font-family:var(--ave-font);font-size:14px;line-height:1.6;color:var(--ave-text);background:var(--ave-burgundy-dark);min-height:80vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}

/* AUTH CARD */
.ave-auth-card{background:var(--ave-white);border-radius:var(--ave-radius-lg);box-shadow:var(--ave-shadow-md);width:100%;max-width:420px;padding:2rem}
.ave-auth-card--wide{max-width:560px}

/* LOGO */
.ave-auth-logo{text-align:center;margin-bottom:1.5rem}
.ave-logo-brand{display:block;font-size:20px;font-weight:800;color:var(--ave-burgundy);letter-spacing:0.02em}
.ave-logo-brand em{color:var(--ave-gold);font-style:normal}
.ave-logo-sub{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:var(--ave-text-dim);margin-top:3px}
.ave-auth-subtitle{font-size:13px;color:var(--ave-text-muted);margin:0 0 1.25rem;text-align:center}

/* MODE TABS */
.ave-mode-tabs{display:flex;background:var(--ave-bg);border:1px solid var(--ave-border);border-radius:var(--ave-radius);padding:3px;margin-bottom:1.5rem;gap:3px}
.ave-mode-tab{flex:1;text-align:center;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.15s;color:var(--ave-text-muted);user-select:none}
.ave-mode-tab i{font-size:14px;vertical-align:-2px;margin-right:4px}
.ave-mode-tab.active{background:var(--ave-burgundy);color:#fff;box-shadow:0 1px 4px rgba(89,33,49,0.25)}
.ave-mode-panel{display:none}
.ave-mode-panel.active{display:block}

/* FORM */
.ave-form-section-title{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--ave-text-dim);font-weight:700;margin:1.25rem 0 0.75rem;padding-bottom:6px;border-bottom:1px solid var(--ave-border)}
.ave-form-group{margin-bottom:0.875rem}
.ave-form-group label{display:block;font-size:12px;font-weight:600;color:var(--ave-text-muted);margin-bottom:4px}
.ave-req{color:var(--ave-burgundy)}
.ave-form-group input[type="text"],.ave-form-group input[type="email"],.ave-form-group input[type="password"],.ave-form-group input[type="tel"],.ave-form-group input[type="date"],.ave-form-group input[type="time"],.ave-form-group select{width:100%;padding:9px 12px;border:1px solid var(--ave-border-dark);border-radius:var(--ave-radius);font-size:13.5px;background:var(--ave-bg);color:var(--ave-text);font-family:var(--ave-font);transition:border-color 0.15s,box-shadow 0.15s;outline:none;box-sizing:border-box}
.ave-form-group input:focus,.ave-form-group select:focus{border-color:var(--ave-burgundy);background:var(--ave-white);box-shadow:0 0 0 3px rgba(89,33,49,0.08)}
.ave-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* PASSWORD TOGGLE */
.ave-input-wrap{position:relative}
.ave-input-wrap input{padding-right:40px}
.ave-pwd-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--ave-text-dim);font-size:16px;padding:0;line-height:1}
.ave-pwd-toggle:hover{color:var(--ave-text)}

.ave-forgot-link{display:block;text-align:right;font-size:12px;color:var(--ave-burgundy);margin-top:4px;text-decoration:none;font-weight:500}
.ave-forgot-link:hover{text-decoration:underline}

/* UPLOAD */
.ave-upload-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:1px dashed var(--ave-border-dark);border-radius:var(--ave-radius);background:var(--ave-bg);color:var(--ave-text-muted);font-size:13px;cursor:pointer;transition:all 0.15s;box-sizing:border-box}
.ave-upload-btn:hover{border-color:var(--ave-burgundy);color:var(--ave-burgundy);background:var(--ave-burgundy-light)}
.ave-upload-btn i{font-size:16px;flex-shrink:0}
.ave-upload-preview{margin-top:6px;font-size:12px;color:var(--ave-success-text);display:flex;align-items:center;gap:5px}

/* CHECKBOX */
.ave-checkbox-group{display:flex;gap:10px;align-items:flex-start}
.ave-checkbox-group input[type="checkbox"]{width:15px;height:15px;flex-shrink:0;margin-top:2px;accent-color:var(--ave-burgundy);cursor:pointer}
.ave-checkbox-group label{font-size:13px;color:var(--ave-text-muted);line-height:1.5;margin-bottom:0;font-weight:400}
.ave-checkbox-group a{color:var(--ave-burgundy)}
.ave-field-note{font-size:11.5px;color:var(--ave-text-dim);margin-top:4px}

/* BUTTONS */
.ave-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:var(--ave-radius);font-size:13.5px;font-weight:700;cursor:pointer;border:none;transition:all 0.15s;font-family:var(--ave-font);text-decoration:none;letter-spacing:0.01em}
.ave-btn-primary{background:var(--ave-burgundy);color:#fff}
.ave-btn-primary:hover{background:var(--ave-burgundy-mid);color:#fff}
.ave-btn-full{width:100%;margin-top:0.5rem}
@keyframes ave-spin{to{transform:rotate(360deg)}}
.ave-spin{animation:ave-spin 0.8s linear infinite;display:inline-block}

/* ALERTS */
.ave-alert{padding:9px 12px;border-radius:var(--ave-radius);font-size:13px;margin:0.75rem 0;background:var(--ave-danger-bg);color:var(--ave-danger-text);border:1px solid rgba(192,57,43,0.2)}
.ave-success-msg{padding:9px 12px;border-radius:var(--ave-radius);font-size:13px;margin:0.75rem 0;background:var(--ave-success-bg);color:var(--ave-success-text);border:1px solid rgba(46,109,79,0.2)}
.ave-info-note{display:flex;gap:8px;align-items:flex-start;background:var(--ave-info-bg);border:1px solid var(--ave-info-border);border-radius:var(--ave-radius);padding:10px 12px;font-size:12.5px;color:var(--ave-info-text);line-height:1.5;margin-bottom:1rem}
.ave-info-note i{font-size:15px;flex-shrink:0;margin-top:1px}
.ave-admin-note{display:flex;gap:8px;align-items:flex-start;background:var(--ave-gold-light);border:1px solid rgba(241,173,72,0.3);border-radius:var(--ave-radius);padding:10px 12px;font-size:12.5px;color:var(--ave-gold-dark);line-height:1.5;margin-bottom:1.25rem}
.ave-admin-note i{font-size:15px;flex-shrink:0;margin-top:1px}

/* DIVIDER / LINK */
.ave-auth-divider{display:flex;align-items:center;gap:10px;margin:1.125rem 0;font-size:12px;color:var(--ave-text-dim)}
.ave-auth-divider::before,.ave-auth-divider::after{content:'';flex:1;height:1px;background:var(--ave-border)}
.ave-auth-link{text-align:center;font-size:13px;color:var(--ave-text-muted);margin:0}
.ave-auth-link a{color:var(--ave-burgundy);font-weight:600;text-decoration:none}
.ave-auth-link a:hover{text-decoration:underline}

/* RESPONSIVE */
@media(max-width:480px){
  .ave-wrap{padding:1rem 0.75rem;align-items:flex-start;}
  .ave-auth-card{padding:1.5rem 1.25rem}
  .ave-form-row-2{grid-template-columns:1fr;gap:0}
  .ave-mode-tab{font-size:12px;padding:6px 8px}
}

/* =============================================================
   AVE Dashboard - Layout
   ============================================================= */
.ave-dashboard{
  display:flex;min-height:100vh;background:var(--ave-bg);
  padding:0;align-items:stretch;justify-content:flex-start;
  font-family:var(--ave-font);font-size:14px;color:var(--ave-text);
  overflow-x:hidden;
}
.ave-dashboard *,.ave-dashboard *::before,.ave-dashboard *::after{box-sizing:border-box}

/* SIDEBAR */
.ave-sidebar{width:240px;background:var(--ave-burgundy-dark);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform 0.25s ease}
.ave-sidebar-logo{padding:1.375rem 1.25rem 1.25rem;border-bottom:1px solid rgba(255,255,255,0.1);margin-bottom:0.5rem}
.ave-nav{padding:0 0.625rem}
.ave-nav-label{font-size:10px;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.28);padding:0.75rem 0.625rem 0.3rem}
.ave-nav-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--ave-radius);font-size:13px;color:rgba(255,255,255,0.6);cursor:pointer;transition:all 0.15s;margin-bottom:2px;text-decoration:none}
.ave-nav-item:hover{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.9)}
.ave-nav-item.active{background:var(--ave-burgundy);color:#fff;font-weight:600}
.ave-nav-item i{font-size:17px;flex-shrink:0}
.ave-nav-dot{width:17px;height:17px;background:var(--ave-gold);border-radius:50%;font-size:10px;font-weight:700;color:var(--ave-burgundy-dark);display:flex;align-items:center;justify-content:center;margin-left:auto;flex-shrink:0}
.ave-sidebar-spacer{flex:1}
.ave-sidebar-footer{padding:0.875rem 1.25rem;border-top:1px solid rgba(255,255,255,0.1)}
.ave-sidebar-logout{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,0.4);text-decoration:none;margin-bottom:0.75rem;transition:color 0.15s}
.ave-sidebar-logout:hover{color:rgba(255,255,255,0.7)}
.ave-user-chip{display:flex;align-items:center;gap:9px}
.ave-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--ave-gold);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--ave-burgundy-dark);flex-shrink:0}
.ave-user-name{font-size:13px;color:#fff;font-weight:600}
.ave-user-role{font-size:11px;color:rgba(255,255,255,0.38)}
.ave-sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:99}
.ave-sidebar-overlay.open{display:block}

/* MAIN */
.ave-main{margin-left:240px;flex:1;display:flex;flex-direction:column;min-height:100vh}

/* TOPBAR */
.ave-topbar{background:var(--ave-white);border-bottom:1px solid var(--ave-border);padding:0 1.75rem;height:54px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}
.ave-topbar-title{font-size:14px;font-weight:700;color:var(--ave-text)}
.ave-topbar-actions{display:flex;align-items:center;gap:9px;position:relative}
.ave-topbar-btn{width:31px;height:31px;border-radius:50%;background:var(--ave-bg);border:1px solid var(--ave-border);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--ave-text-muted);cursor:pointer;transition:all 0.15s;position:relative}
.ave-topbar-btn:hover{border-color:var(--ave-border-dark);color:var(--ave-text)}
.ave-notif-trigger{cursor:pointer}
.ave-notif-dot{position:absolute;top:-2px;right:-2px;width:9px;height:9px;background:var(--ave-gold);border-radius:50%;border:2px solid var(--ave-white)}
.ave-hamburger{display:none;width:31px;height:31px;border-radius:50%;background:var(--ave-bg);border:1px solid var(--ave-border);align-items:center;justify-content:center;font-size:16px;color:var(--ave-text-muted);cursor:pointer;transition:all 0.15s}
.ave-hamburger:hover{border-color:var(--ave-border-dark)}

/* NOTIF DROPDOWN */
.ave-notif-dropdown{display:none;position:absolute;top:calc(100% + 9px);right:0;width:330px;background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);box-shadow:var(--ave-shadow-md);z-index:200;overflow:hidden}
.ave-notif-dropdown.open{display:block}
.ave-notif-dd-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--ave-border)}
.ave-notif-dd-title{font-size:12.5px;font-weight:700}
.ave-notif-dd-link{font-size:12px;color:var(--ave-burgundy);cursor:pointer;font-weight:600}
.ave-notif-dd-link:hover{text-decoration:underline}
.ave-notif-mini{padding:9px 14px;border-bottom:1px solid var(--ave-border);cursor:default;transition:background 0.1s}
.ave-notif-mini:last-child{border-bottom:none}
.ave-notif-mini:hover{background:var(--ave-bg)}
.ave-notif-mini-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:2px}
.ave-notif-mini-title{font-size:12.5px;font-weight:600;line-height:1.3}
.ave-notif-mini-time{font-size:11px;color:var(--ave-text-dim);flex-shrink:0}
.ave-notif-mini-desc{font-size:12px;color:var(--ave-text-muted);line-height:1.4}

/* CONTENT */
.ave-content{padding:1.75rem;flex:1;max-width:100%;}
.ave-section{display:none}.ave-section.active{display:block}
.ave-page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.375rem}
.ave-page-title{font-size:21px;font-weight:800;color:var(--ave-text);line-height:1.2;margin:0}
.ave-page-subtitle{font-size:13px;color:var(--ave-text-muted);margin:2px 0 0}

/* BADGES */
.ave-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700}
.ave-badge::before{content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0}
.ave-badge-nuovo{background:var(--ave-info-bg);color:var(--ave-info-text)}.ave-badge-nuovo::before{background:var(--ave-info-text)}
.ave-badge-corso{background:var(--ave-gold-light);color:var(--ave-gold-dark)}.ave-badge-corso::before{background:var(--ave-gold)}
.ave-badge-completato{background:var(--ave-success-bg);color:var(--ave-success-text)}.ave-badge-completato::before{background:var(--ave-success-text)}
.ave-badge-pagato{background:var(--ave-success-bg);color:var(--ave-success-text)}.ave-badge-pagato::before{background:var(--ave-success-text)}
.ave-badge-da-pagare{background:var(--ave-danger-bg);color:var(--ave-danger-text)}.ave-badge-da-pagare::before{background:var(--ave-danger-text)}
.ave-badge-attesa{background:var(--ave-gold-light);color:var(--ave-gold-dark)}.ave-badge-attesa::before{background:var(--ave-gold)}
.ave-badge-da-fare{background:var(--ave-gold-light);color:var(--ave-gold-dark)}.ave-badge-da-fare::before{background:var(--ave-gold)}
.ave-badge-fatto{background:var(--ave-success-bg);color:var(--ave-success-text)}.ave-badge-fatto::before{background:var(--ave-success-text)}
.ave-badge-da-vis{background:var(--ave-info-bg);color:var(--ave-info-text)}.ave-badge-da-vis::before{background:var(--ave-info-text)}

/* PRATICHE */
.ave-pratiche-grid{display:flex;flex-direction:column;gap:8px}
.ave-pratica-row{background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);padding:0.875rem 1.125rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all 0.15s;box-shadow:var(--ave-shadow)}
.ave-pratica-row:hover{border-color:var(--ave-burgundy);box-shadow:var(--ave-shadow-md)}
.ave-pratica-initial{width:40px;height:40px;border-radius:var(--ave-radius);background:var(--ave-burgundy-light);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--ave-burgundy);flex-shrink:0}
.ave-pratica-info{flex:1;min-width:0}
.ave-pratica-code{font-size:10.5px;color:var(--ave-burgundy);font-weight:700;letter-spacing:0.05em;margin-bottom:1px}
.ave-pratica-name{font-size:14px;font-weight:700}
.ave-pratica-meta{font-size:12px;color:var(--ave-text-muted);display:flex;align-items:center;gap:5px}
.ave-pratica-meta i{font-size:12px}
.ave-pratica-arrow{color:var(--ave-text-dim);font-size:17px}

/* DETAIL */
.ave-back-btn{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--ave-text-muted);cursor:pointer;margin-bottom:1.25rem;padding:4px 0;border:none;background:none;font-family:var(--ave-font);transition:color 0.15s}
.ave-back-btn:hover{color:var(--ave-burgundy)}
.ave-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1.375rem}
.ave-box-link{background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);padding:0.875rem 1rem;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all 0.15s;box-shadow:var(--ave-shadow)}
.ave-box-link:hover{border-color:var(--ave-burgundy);box-shadow:var(--ave-shadow-md)}
.ave-box-icon{width:36px;height:36px;border-radius:var(--ave-radius);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.ave-box-icon--burgundy{background:var(--ave-burgundy-light);color:var(--ave-burgundy)}
.ave-box-icon--gold{background:var(--ave-gold-light);color:var(--ave-gold-dark)}
.ave-box-icon--info{background:var(--ave-info-bg);color:var(--ave-info-text)}
.ave-box-label{font-size:11px;color:var(--ave-text-muted)}
.ave-box-value{font-size:13px;font-weight:700;color:var(--ave-text)}

/* TABS */
.ave-tabs{display:flex;border-bottom:2px solid var(--ave-border);margin-bottom:1.375rem}
.ave-tab{padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;color:var(--ave-text-muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.15s;user-select:none}
.ave-tab:hover{color:var(--ave-burgundy)}
.ave-tab.active{color:var(--ave-burgundy);border-bottom-color:var(--ave-burgundy);font-weight:700}
.ave-tab-content{display:none}.ave-tab-content.active{display:block}

/* INFO TAB */
.ave-pratica-detail-code{display:inline-flex;align-items:center;gap:5px;background:var(--ave-burgundy-light);color:var(--ave-burgundy);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.05em;margin-bottom:0.875rem}
.ave-recap-box{background:var(--ave-gold-light);border:1px solid rgba(241,173,72,0.3);border-radius:var(--ave-radius);padding:0.75rem 1rem;font-size:13px;color:var(--ave-text-muted);line-height:1.7;margin-bottom:1rem}
.ave-recap-box strong{color:var(--ave-text);font-weight:700}
.ave-info-table{width:100%;border-collapse:collapse}
.ave-info-table tr{border-bottom:1px solid var(--ave-border)}
.ave-info-table tr:last-child{border-bottom:none}
.ave-info-table td{padding:9px 0;font-size:13px;vertical-align:top}
.ave-info-table td:first-child{color:var(--ave-text-muted);width:190px}

/* PROGRESS */
.ave-progress-wrap{margin-bottom:1rem}
.ave-progress-label-row{display:flex;justify-content:space-between;font-size:12px;color:var(--ave-text-muted);margin-bottom:5px}
.ave-progress-track{height:5px;background:var(--ave-border);border-radius:20px;overflow:hidden}
.ave-progress-fill{height:100%;border-radius:20px;transition:width 0.5s ease}
.ave-fill-green{background:var(--ave-success-text)}
.ave-fill-amber{background:var(--ave-gold)}
.ave-fill-red{background:var(--ave-danger-text)}

/* DOCUMENTI */
.ave-doc-list{display:flex;flex-direction:column;gap:7px}
.ave-doc-item{background:var(--ave-white);border:1px solid var(--ave-border);border-left:3px solid var(--ave-border-dark);border-radius:var(--ave-radius-lg);padding:0.875rem 1rem;display:flex;align-items:center;gap:12px}
.ave-doc-item.uploaded{border-left-color:var(--ave-success-text)}
.ave-doc-item.missing{border-left-color:var(--ave-text-dim)}
.ave-doc-status{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.ave-doc-status--ok{background:var(--ave-success-bg);color:var(--ave-success-text)}
.ave-doc-status--ko{background:var(--ave-bg);color:var(--ave-text-dim)}
.ave-doc-info{flex:1;min-width:0}
.ave-doc-label{font-size:13px;font-weight:700;color:var(--ave-text);margin-bottom:1px}
.ave-doc-filename{font-size:11.5px;color:var(--ave-burgundy);display:flex;align-items:center;gap:4px;min-width:0}
.ave-doc-filename span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ave-doc-note{font-size:11.5px;color:var(--ave-text-muted)}
.ave-doc-actions{display:flex;gap:5px;flex-shrink:0;align-items:center;flex-wrap:wrap;justify-content:flex-end}

/* CHECKLIST */
.ave-task-list{display:flex;flex-direction:column;gap:7px}
.ave-task-item{background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius);padding:10px 12px}
.ave-task-item.done{opacity:0.65}
.ave-task-row{display:flex;align-items:flex-start;gap:10px}
.ave-task-check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--ave-border-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;font-size:11px}
.ave-task-check.checked{background:var(--ave-success-text);border-color:var(--ave-success-text);color:#fff}
.ave-task-body{flex:1}
.ave-task-title{font-size:13px;font-weight:700;color:var(--ave-text)}
.ave-task-desc{font-size:12px;color:var(--ave-text-muted);margin-top:2px;line-height:1.5}

/* PREVENTIVO */
.ave-prev-table{width:100%;border-collapse:collapse}
.ave-prev-table tr{border-bottom:1px solid var(--ave-border)}
.ave-prev-table tr:last-child{border-bottom:none}
.ave-prev-table td{padding:10px 0;font-size:13px}
.ave-prev-table td:last-child{text-align:right;font-weight:600}
.ave-prev-desc{color:var(--ave-text-muted);font-size:11.5px;margin-top:1px}
.ave-prev-total td{font-size:15px;font-weight:800;padding-top:12px;border-top:2px solid var(--ave-border-dark);border-bottom:none;color:var(--ave-burgundy)}

/* PAGAMENTI */
.ave-pagamenti-list{display:flex;flex-direction:column;gap:8px}
.ave-pagamento-row{background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);padding:0.875rem 1.125rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--ave-shadow)}
.ave-pag-icon{width:38px;height:38px;border-radius:var(--ave-radius);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.ave-pag-icon--paid{background:var(--ave-success-bg);color:var(--ave-success-text)}
.ave-pag-icon--due{background:var(--ave-danger-bg);color:var(--ave-danger-text)}
.ave-pag-icon--wait{background:var(--ave-gold-light);color:var(--ave-gold-dark)}
.ave-pag-info{flex:1;min-width:0}
.ave-pag-desc{font-size:13.5px;font-weight:700}
.ave-pag-meta{font-size:12px;color:var(--ave-text-muted);margin-top:1px}
.ave-pag-right{display:flex;align-items:center;gap:9px;flex-shrink:0}
.ave-pag-amount{font-size:15px;font-weight:800;color:var(--ave-text)}

/* NOTIFICHE */
.ave-notifiche-list{display:flex;flex-direction:column;gap:8px}
.ave-notifica-card{background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);padding:0.875rem 1.125rem;box-shadow:var(--ave-shadow)}
.ave-notifica-card.ave-notifica-unread{border-left:3px solid var(--ave-burgundy)}
.ave-notifica-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:5px}
.ave-notifica-title{font-size:13.5px;font-weight:700}
.ave-notifica-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ave-notifica-time{font-size:11.5px;color:var(--ave-text-dim)}
.ave-notifica-desc{font-size:13px;color:var(--ave-text-muted);line-height:1.5}

/* BUTTONS */
.ave-btn-sm{padding:5px 11px;font-size:12px}
.ave-btn-outline{background:var(--ave-white);color:var(--ave-text);border:1px solid var(--ave-border-dark)}.ave-btn-outline:hover{background:var(--ave-bg)}
.ave-btn-share{background:var(--ave-info-bg);color:var(--ave-info-text);border:1px solid var(--ave-info-border)}.ave-btn-share:hover{background:#d1e3fd}
.ave-btn-upload{background:var(--ave-burgundy-light);color:var(--ave-burgundy);border:1px solid rgba(89,33,49,0.2)}.ave-btn-upload:hover{background:var(--ave-burgundy);color:#fff}
.ave-btn-stripe{background:#635BFF;color:#fff}.ave-btn-stripe:hover{background:#4f48cc}

/* ICON BTN */
.ave-icon-btn{width:28px;height:28px;border:none;background:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--ave-text-muted);transition:all 0.15s}
.ave-icon-btn:hover{background:var(--ave-bg);color:var(--ave-burgundy)}

/* MODAL */
.ave-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:1000;display:flex;align-items:center;justify-content:center}
.ave-modal{background:var(--ave-white);border-radius:var(--ave-radius-lg);box-shadow:0 20px 60px rgba(0,0,0,0.18);width:90%;max-width:560px;max-height:82vh;display:flex;flex-direction:column;overflow:hidden}
.ave-modal-sm{max-width:400px}
.ave-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0.875rem 1.25rem;border-bottom:1px solid var(--ave-border)}
.ave-modal-title{font-size:13.5px;font-weight:700}
.ave-modal-body{padding:1.25rem;flex:1;overflow-y:auto}
.ave-modal-footer{padding:0.875rem 1.25rem;border-top:1px solid var(--ave-border);display:flex;justify-content:flex-end;gap:7px}
.ave-doc-preview{background:var(--ave-bg);border-radius:var(--ave-radius);height:200px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ave-text-muted);flex-direction:column;gap:8px;border:1px solid var(--ave-border)}
.ave-doc-preview i{font-size:36px;color:var(--ave-text-dim)}
.ave-stripe-info{background:var(--ave-bg);border-radius:var(--ave-radius);padding:0.875rem;border:1px solid var(--ave-border)}
.ave-stripe-row{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;border-bottom:1px solid var(--ave-border)}
.ave-stripe-row:last-child{border-bottom:none}
.ave-stripe-row span:first-child{color:var(--ave-text-muted)}
.ave-stripe-row span:last-child{font-weight:700}

/* LOADING / EMPTY */
.ave-loading{text-align:center;padding:2rem;color:var(--ave-text-muted);font-size:13px}
.ave-empty-state{text-align:center;padding:3rem 1rem;color:var(--ave-text-dim)}
.ave-empty-state i{font-size:40px;display:block;margin-bottom:0.75rem}
.ave-empty-state p{font-size:14px;margin:0}

/* BOTTOM NAV */
.ave-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:62px;background:var(--ave-white);border-top:1px solid var(--ave-border);z-index:150;align-items:stretch}
.ave-bn-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;position:relative;font-size:11px;color:var(--ave-text-muted);transition:color 0.15s;padding:5px 0;user-select:none;-webkit-tap-highlight-color:transparent}
.ave-bn-item i{font-size:21px;line-height:1}
.ave-bn-label{font-size:10.5px;line-height:1}
.ave-bn-item.active{color:var(--ave-burgundy)}
.ave-bn-dot{position:absolute;top:4px;left:calc(50% + 5px);min-width:15px;height:15px;background:var(--ave-gold);border-radius:20px;padding:0 3px;font-size:9px;font-weight:700;color:var(--ave-burgundy-dark);display:flex;align-items:center;justify-content:center}

/* RESPONSIVE */
@media(max-width:960px){
  .ave-sidebar{transform:translateX(-100%)}
  .ave-sidebar.open{transform:translateX(0)}
  .ave-main{margin-left:0;width:100%;max-width:100%;overflow-x:hidden}
  .ave-hamburger{display:flex}
  .ave-bottom-nav{display:flex}
  .ave-dashboard{overflow-x:hidden}
  .ave-content{padding:1rem;padding-bottom:80px;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}
  .ave-topbar{padding:0 1rem}
  .ave-info-grid{grid-template-columns:1fr}
  .ave-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .ave-tab{white-space:nowrap;padding:8px 12px;font-size:12.5px}
  .ave-info-table td:first-child{width:120px;font-size:12px}
  .ave-info-table td{font-size:12.5px;padding:8px 0}
  .ave-doc-item{flex-wrap:wrap;gap:8px}
  .ave-doc-actions{width:100%;justify-content:flex-start;padding-left:46px}
  .ave-pagamento-row{flex-wrap:wrap;gap:8px}
  .ave-pag-right{width:100%;justify-content:flex-start;padding-left:50px;gap:8px}
  .ave-notifica-top{flex-wrap:wrap;gap:6px}
  .ave-notifica-right{width:100%}
  .ave-modal{width:96%;max-height:88vh}
  .ave-notif-dropdown{width:min(330px,calc(100vw - 2rem));right:0}
  .ave-page-header{flex-direction:column;align-items:flex-start;gap:0.75rem}
  .ave-stats-row{grid-template-columns:repeat(2,1fr)}
  .ave-filters-bar{flex-direction:column;align-items:stretch}
  .ave-filter-input,.ave-filter-select{width:100%;box-sizing:border-box}
  .ave-data-table{font-size:12.5px}
  .ave-data-table th,.ave-data-table td{padding:8px 10px}
}
@media(max-width:480px){
  .ave-pag-amount{font-size:13px}
  .ave-content{padding:0.875rem;padding-bottom:80px;box-sizing:border-box;width:100%;max-width:100%}
  .ave-stats-row{grid-template-columns:repeat(2,1fr);gap:8px}
  .ave-prev-card{border-radius:var(--ave-radius)}
  .ave-prev-card-header{flex-direction:column;align-items:flex-start;gap:6px}
  .ave-prev-card-actions{flex-wrap:wrap}
}

/* =============================================================
   AVE Dashboard Admin - Stili aggiuntivi
   ============================================================= */
.ave-admin-chip{display:inline-flex;align-items:center;gap:4px;background:rgba(241,173,72,0.15);border:1px solid rgba(241,173,72,0.3);border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700;color:var(--ave-gold);letter-spacing:0.05em;margin-top:6px}
.ave-stat-accent{color:var(--ave-burgundy)}
.ave-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:1.375rem}
.ave-stat-card{background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);padding:1rem 1.25rem;box-shadow:var(--ave-shadow)}
.ave-stat-label{font-size:12px;color:var(--ave-text-muted);margin-bottom:5px}
.ave-stat-value{font-size:24px;font-weight:800;color:var(--ave-text);line-height:1}
.ave-filters-bar{display:flex;gap:8px;align-items:center;margin-bottom:1.125rem;flex-wrap:wrap}
.ave-filter-input{padding:7px 11px;border:1px solid var(--ave-border-dark);border-radius:var(--ave-radius);font-size:13px;background:var(--ave-white);color:var(--ave-text);font-family:var(--ave-font);outline:none;transition:border-color 0.15s}
.ave-filter-input:focus{border-color:var(--ave-burgundy)}
.ave-filter-select{padding:7px 11px;border:1px solid var(--ave-border-dark);border-radius:var(--ave-radius);font-size:13px;background:var(--ave-white);color:var(--ave-text);font-family:var(--ave-font);outline:none;cursor:pointer}
/* Pulsante toggle filtri - solo mobile */
.ave-btn-filtri-toggle{display:none}
@media(max-width:960px){
  .ave-btn-filtri-toggle{display:inline-flex}
  #aveFiltriPratiche{display:none;flex-direction:column;gap:8px}
  #aveFiltriPratiche.open{display:flex}
  #aveFiltriPratiche .ave-filter-input,
  #aveFiltriPratiche .ave-filter-select{width:100%;box-sizing:border-box}

  /* Tabelle su mobile: scroll orizzontale contenuto */
  .ave-table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -0.875rem;padding:0 0.875rem;width:calc(100% + 1.75rem);box-sizing:border-box}

  /* Nascondi colonne meno importanti su mobile */
  .ave-col-mobile-hide{display:none}

  /* Celle più compatte */
  .ave-data-table th,.ave-data-table td{padding:8px 10px;font-size:12.5px;white-space:nowrap;vertical-align:middle}
  .ave-pratica-code-cell{font-size:11.5px;white-space:nowrap}
  .ave-badge{white-space:nowrap}
}
.ave-data-table{width:100%;border-collapse:collapse;background:var(--ave-white);border-radius:var(--ave-radius-lg);overflow:hidden;box-shadow:var(--ave-shadow);border:1px solid var(--ave-border)}
.ave-data-table th{background:var(--ave-bg);font-size:11.5px;font-weight:700;color:var(--ave-text-muted);text-transform:uppercase;letter-spacing:0.06em;padding:9px 14px;text-align:left;border-bottom:1px solid var(--ave-border);white-space:nowrap}
.ave-data-table td{padding:11px 14px;font-size:13px;border-bottom:1px solid var(--ave-border);vertical-align:middle}
.ave-data-table tr:last-child td{border-bottom:none}
.ave-data-table tr:hover td{background:rgba(89,33,49,0.02)}
.ave-action-cell{display:flex;gap:5px;align-items:center}
.ave-pratica-code-cell{font-size:11px;font-weight:700;color:var(--ave-burgundy);letter-spacing:0.04em}
.ave-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:8px}
.ave-detail-actions{display:flex;gap:7px}
.ave-modal-lg{max-width:680px}
.ave-form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ave-form-group{margin-bottom:0.75rem}
.ave-form-group label{display:block;font-size:12px;font-weight:600;color:var(--ave-text-muted);margin-bottom:4px}
.ave-form-group input,.ave-form-group select,.ave-form-group textarea{width:100%;padding:8px 11px;border:1px solid var(--ave-border-dark);border-radius:var(--ave-radius);font-size:13px;background:var(--ave-bg);color:var(--ave-text);font-family:var(--ave-font);outline:none;transition:border-color 0.15s;box-sizing:border-box}
.ave-form-group input:focus,.ave-form-group select:focus,.ave-form-group textarea:focus{border-color:var(--ave-burgundy);background:var(--ave-white)}

/* Notif interne admin */
.ave-notif-interna{background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);padding:0.875rem 1.125rem;display:flex;align-items:flex-start;gap:12px;box-shadow:var(--ave-shadow)}
.ave-notif-interna-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}

@media(max-width:960px){
  .ave-stats-row{grid-template-columns:repeat(2,1fr)}
  .ave-filters-bar{flex-direction:column;align-items:stretch}
  .ave-filter-input,.ave-filter-select{width:100%}
  .ave-form-row-2{grid-template-columns:1fr}
  .ave-detail-header{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){
  .ave-stats-row{grid-template-columns:1fr 1fr}
  .ave-stat-value{font-size:20px}
}

/* =============================================================
   Scelta preventivo / tipo documento
   ============================================================= */
.ave-scelta-btn{display:flex;align-items:center;gap:14px;width:100%;padding:1rem 1.125rem;background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);cursor:pointer;font-family:var(--ave-font);text-align:left;transition:all 0.15s;font-size:14px;color:var(--ave-text)}
.ave-scelta-btn:hover{border-color:var(--ave-burgundy);background:var(--ave-burgundy-light)}
.ave-scelta-btn i{font-size:24px;color:var(--ave-burgundy);flex-shrink:0}
.ave-tipo-doc-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);margin-bottom:7px;transition:border-color 0.15s}
.ave-tipo-doc-row:hover{border-color:var(--ave-border-dark)}
.ave-tipo-doc-info{flex:1;min-width:0}
.ave-tipo-doc-key{font-size:10.5px;color:var(--ave-text-dim);font-family:monospace;margin-bottom:2px}
.ave-tipo-doc-label{font-size:13px;font-weight:700;color:var(--ave-text)}
.ave-tipo-doc-desc{font-size:12px;color:var(--ave-text-muted);margin-top:1px}
.ave-aggiungi-doc-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--ave-border);border-radius:var(--ave-radius);margin-bottom:7px;cursor:pointer;transition:all 0.15s}
.ave-aggiungi-doc-item:hover{border-color:var(--ave-burgundy);background:var(--ave-burgundy-light)}
.ave-aggiungi-doc-item input[type=checkbox]{margin-top:2px;accent-color:var(--ave-burgundy);width:16px;height:16px;flex-shrink:0;cursor:pointer}
.ave-aggiungi-doc-item.gia-presente{opacity:0.5;cursor:not-allowed}
.ave-template-sel-row{display:flex;align-items:center;gap:12px;padding:0.875rem 1rem;background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);margin-bottom:8px;cursor:pointer;transition:all 0.15s}
.ave-template-sel-row:hover{border-color:var(--ave-burgundy);background:var(--ave-burgundy-light)}
.ave-template-sel-row i{font-size:22px;color:var(--ave-burgundy);flex-shrink:0}

/* Riga pratica cliccabile */
.ave-pratica-row-clickable:hover td { background:rgba(89,33,49,0.03); }
.ave-pratica-row-clickable td:not(.ave-action-cell) { cursor:pointer; }

/* Badge "Nuovo" sulle tab */
.ave-tab-badge{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--ave-burgundy);color:#fff;
  font-size:10px;font-weight:700;line-height:1;
  min-width:16px;height:16px;border-radius:20px;padding:0 4px;
  margin-left:6px;vertical-align:middle;
}
.ave-tab.active .ave-tab-badge{background:rgba(255,255,255,0.25)}

/* Textarea rifiuto preventivo stilizzato */
.ave-rifiuto-wrap{margin-top:1rem}
.ave-rifiuto-wrap label{
  display:block;font-size:12px;font-weight:600;
  color:var(--ave-text-muted);margin-bottom:5px;
}
.ave-rifiuto-wrap label .ave-req{color:var(--ave-burgundy)}
.ave-rifiuto-textarea{
  width:100%;padding:10px 14px;
  border:1px solid var(--ave-border-dark);border-radius:var(--ave-radius);
  font-family:var(--ave-font);font-size:13px;line-height:1.6;
  color:var(--ave-text);background:var(--ave-bg);
  resize:vertical;outline:none;
  transition:border-color 0.15s,box-shadow 0.15s;
  box-sizing:border-box;min-height:80px;
}
.ave-rifiuto-textarea:focus{
  border-color:var(--ave-burgundy);
  background:var(--ave-white);
  box-shadow:0 0 0 3px rgba(89,33,49,0.08);
}

/* Pannello impostazioni preventivo */
.ave-settings-card{background:var(--ave-white);border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);padding:1rem 1.25rem;box-shadow:var(--ave-shadow)}
.ave-settings-card .ave-form-group input,.ave-settings-card .ave-form-group select,.ave-settings-card .ave-form-group textarea{width:100%;padding:8px 11px;border:1px solid var(--ave-border-dark);border-radius:var(--ave-radius);font-size:13px;background:var(--ave-bg);color:var(--ave-text);font-family:var(--ave-font);outline:none;transition:border-color 0.15s;box-sizing:border-box}
.ave-settings-card .ave-form-group input:focus{border-color:var(--ave-burgundy);background:var(--ave-white)}
.ave-mail-wording-item:hover{background:var(--ave-burgundy-light);border-color:var(--ave-border-dark)!important}
@media(max-width:960px){
  .ave-wording-desktop-grid{display:block!important}
  .ave-wording-desktop-grid>div:first-child{display:none!important}
  .ave-wording-mobile-select{display:block!important}
}
.ave-settings-header:hover{color:var(--ave-burgundy)}

/* Lista preventivi admin */
.ave-preventivi-lista{display:flex;flex-direction:column;gap:10px}
.ave-prev-card{border:1px solid var(--ave-border);border-radius:var(--ave-radius-lg);overflow:hidden;background:var(--ave-white)}
.ave-prev-card--active{border-left:3px solid var(--ave-burgundy)}
.ave-prev-card-header{display:flex;align-items:center;justify-content:space-between;padding:0.875rem 1rem;background:var(--ave-bg);gap:8px;flex-wrap:wrap;transition:background 0.15s}
.ave-prev-card-header:hover{background:var(--ave-burgundy-light)}
.ave-prev-card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.ave-prev-card-body{padding:0 1rem 0.875rem}
