/* ============================================
   Gestionale Immobiliare — Enterprise CRM
   Premium Redesign v4.0
   ============================================ */

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}
::selection{background:rgba(37,99,235,0.12);color:#1a1d26}

/* PWA */
html,body{overscroll-behavior-y:none}
input,textarea,select{touch-action:manipulation;font-size:16px!important}

:root{
  /* Typography */
  --font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  /* Primary palette */
  --blue:#2563eb;
  --blue-hover:#1d4ed8;
  --blue-light:rgba(37,99,235,0.06);
  --blue-glow:rgba(37,99,235,0.10);

  /* Background */
  --bg:#f9fafb;
  --card:#ffffff;
  --card-solid:#ffffff;
  --card-alt:#f8fafc;
  --input-bg:#ffffff;

  /* Sidebar */
  --sidebar-bg:#111827;
  --sidebar-active:rgba(37,99,235,0.15);
  --sidebar-text:rgba(156,163,175,0.9);
  --sidebar-text-active:#ffffff;

  /* Text hierarchy (warmer grays) */
  --text:#1a1d26;
  --text-secondary:#5f6578;
  --text-tertiary:#9198a8;

  /* Borders (softer) */
  --border:#edf0f4;

  /* Layered shadows */
  --shadow-xs:0 1px 2px rgba(0,0,0,0.03),0 0 0 1px rgba(0,0,0,0.02);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.03);
  --shadow-md:0 4px 6px -1px rgba(0,0,0,0.05),0 2px 4px -2px rgba(0,0,0,0.03);
  --shadow-lg:0 10px 25px -5px rgba(0,0,0,0.08),0 8px 10px -6px rgba(0,0,0,0.04);
  --shadow-xl:0 20px 50px -12px rgba(0,0,0,0.12),0 8px 20px -8px rgba(0,0,0,0.06);
  --shadow-glass:none;

  /* Border radius (squared) */
  --radius-sm:2px;
  --radius-md:3px;
  --radius-lg:4px;
  --radius-xl:4px;
  --radius-pill:2px;

  /* Easing */
  --ease:cubic-bezier(0.25,0.1,0.25,1);
  --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
  --ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);
  --ease-elastic:cubic-bezier(0.25,0.1,0.25,1);

  /* Colors */
  --green:#059669;
  --red:#dc2626;
  --orange:#d97706;
  --purple:#7c3aed;

  /* Modal */
  --modal-bg:#ffffff;
  --modal-overlay:rgba(15,23,42,0.5);

  /* Mobile nav */
  --bottom-nav-bg:rgba(255,255,255,0.92);

  /* Spacing scale */
  --spacing-xs:4px;
  --spacing-sm:8px;
  --spacing-md:16px;
  --spacing-lg:24px;
  --spacing-xl:32px;
}

[data-theme="dark"]{
  --bg:#0c0e14;
  --card:#161922;
  --card-solid:#161922;
  --card-alt:#1c1f2b;
  --input-bg:#161922;
  --sidebar-bg:#0a0c12;
  --text:#e8eaf0;
  --text-secondary:#9ca3b4;
  --text-tertiary:#6b7280;
  --border:#262d3d;
  --shadow-xs:0 1px 2px rgba(0,0,0,0.4);
  --shadow-sm:0 1px 3px rgba(0,0,0,0.5);
  --shadow-md:0 4px 12px rgba(0,0,0,0.55);
  --shadow-lg:0 10px 25px rgba(0,0,0,0.65);
  --shadow-xl:0 20px 50px rgba(0,0,0,0.75);
  --modal-bg:#161922;
  --modal-overlay:rgba(0,0,0,0.65);
  --bottom-nav-bg:rgba(12,14,20,0.95);
  --blue-light:rgba(37,99,235,0.12);
  --blue-glow:rgba(37,99,235,0.20);
}
[data-theme="dark"] ::selection{background:rgba(37,99,235,0.3);color:#e8eaf0}
[data-theme="dark"] ::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.12)}
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.2)}
[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] textarea,
[data-theme="dark"] .form-group input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] .form-group textarea{background-color:var(--card)!important;border-color:var(--border)!important;color:var(--text)}
[data-theme="dark"] select{background-color:var(--card)!important;border-color:var(--border)!important;color:var(--text)}
[data-theme="dark"] select option{background:var(--card);color:var(--text)}
[data-theme="dark"] .crm-filter-group input,
[data-theme="dark"] .crm-filter-group select{background:var(--card);color:var(--text);border-color:var(--border)}
[data-theme="dark"] .crm-esito-lg.tnt{background:#3b1c1c;border-color:#7f1d1d;color:#fca5a5}
[data-theme="dark"] .crm-esito-lg.nsn{background:#3b2e0c;border-color:#78350f;color:#fcd34d}
[data-theme="dark"] .crm-esito-lg.fn{background:#0c3b1e;border-color:#14532d;color:#86efac}
[data-theme="dark"] .crm-esito-lg.inc{background:#2e1065;border-color:#4c1d95;color:#c4b5fd}
[data-theme="dark"] .crm-esito-lg.wa{background:#0c3b2a;border-color:#064e3b;color:#6ee7b7}
[data-theme="dark"] .crm-esito-lg.da-contattare{background:#1f2937;border-color:#374151;color:#9ca3af}
[data-theme="dark"] .cal-day{background:var(--card)}
[data-theme="dark"] .cal-event{background:rgba(37,99,235,0.12);border-color:rgba(37,99,235,0.25)}

body{
  font-family:var(--font-family);
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  letter-spacing:-0.011em;
  font-size:14px;
  text-transform:uppercase;
}
body.login-body{text-transform:none}
input,textarea,select,.modal-body input,.modal-body textarea{text-transform:none}
body::before{display:none}

/* ---- KEYFRAMES (minimal, functional only) ---- */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUpFade{from{opacity:0}to{opacity:1}}
@keyframes cardEntrance{from{opacity:0}to{opacity:1}}
@keyframes scaleIn{from{opacity:0}to{opacity:1}}
@keyframes popIn{from{opacity:0}to{opacity:1}}
@keyframes slideDown{from{opacity:0}to{opacity:1}}
@keyframes floatBubble{0%,100%{transform:none}}
@keyframes breathe{0%,100%{opacity:1}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes pulseGlow{0%,100%{opacity:1}}
@keyframes pulseRing{0%,100%{opacity:1}}
@keyframes gradientShift{0%,100%{background-position:0% 50%}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes toastIn{from{opacity:0}to{opacity:1}}
@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}
@keyframes wiggle{0%,100%{transform:none}}
@keyframes countUp{from{opacity:0}to{opacity:1}}

/* ============================================
   SIDEBAR
   ============================================ */
.sidebar{
  position:fixed;top:0;left:0;width:200px;height:100vh;
  background:var(--sidebar-bg);
  
  display:flex;flex-direction:column;z-index:40;
  transition:transform .25s var(--ease);
  overflow:visible;
  box-shadow:none;border-radius:0;border:none;transform:none;
}
.sidebar::before{display:none}
.sidebar>*{position:relative;z-index:1}

.sidebar-logo{
  padding:22px 20px 20px;
  display:flex;align-items:center;gap:12px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.sidebar-logo-icon{display:none}
.sidebar-logo-text h2{
  font-size:15px;font-weight:700;color:#fff;
  letter-spacing:-0.3px;line-height:1.3;margin:0;
}
.sidebar-logo-text span{
  font-size:11px;font-weight:400;color:rgba(255,255,255,0.35);
  letter-spacing:0;display:block;margin-top:2px;
}

.sidebar-nav{
  padding:14px 10px;
  display:flex;flex-direction:column;gap:2px;
  align-items:stretch;position:relative;flex:1;overflow-y:auto;
}
.sidebar-nav a{
  display:flex;align-items:center;gap:10px;
  padding:9px 14px;
  color:var(--sidebar-text);
  font-size:13px;font-weight:500;
  text-decoration:none;transition:all .15s;
  position:relative;z-index:1;
  border-radius:var(--radius-lg);width:100%;justify-content:flex-start;
  border-left:none;
}
.sidebar-nav a::before,.sidebar-nav a::after{display:none}
.sidebar-nav a:hover{color:rgba(255,255,255,0.9);background:rgba(255,255,255,0.06)}
.sidebar-nav a.active{
  color:#fff;font-weight:600;
  background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);
}
.sidebar-goccia{display:none}
.sidebar-nav a svg{
  width:18px;height:18px;stroke:currentColor;fill:none;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
  flex-shrink:0;opacity:0.6;transition:opacity .2s;
}
.sidebar-nav a:hover svg{opacity:0.9}
.sidebar-nav a.active svg{opacity:1}
.sidebar-nav a svg{stroke:currentColor}
.bottom-nav a svg,.bottom-nav-more a svg{stroke:currentColor}

.nav-label{
  position:static;transform:none;background:none;color:inherit;
  font-size:13px;font-weight:inherit;padding:0;border-radius:0;
  white-space:nowrap;opacity:1;pointer-events:auto;
}
.nav-label::before,.nav-label::after{display:none}

.sidebar-logout{
  padding:14px 10px;display:flex;flex-direction:column;gap:4px;
  border-top:1px solid rgba(255,255,255,0.08);
}
.sidebar-logout a{
  display:flex;align-items:center;justify-content:flex-start;gap:8px;
  width:100%;padding:9px 14px;border-radius:var(--radius-lg);border:none;
  color:rgba(248,113,113,0.7);text-decoration:none;
  transition:all .15s;font-size:13px;font-weight:500;background:transparent;
}
.sidebar-logout a:hover{color:#f87171;background:rgba(248,113,113,0.08)}
.sidebar-logout a svg{
  width:16px;height:16px;stroke:currentColor;fill:none;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;
}

.bottom-nav-more .theme-toggle-link{color:var(--text-secondary)!important;border-top:1px solid var(--border);margin-top:4px;padding-top:14px!important}
.bottom-nav-more .logout-link{color:var(--red)!important;border-top:1px solid var(--border);margin-top:4px;padding-top:14px!important}
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:35;transition:opacity .2s}

/* ---- BOTTOM NAV (Mobile) ---- */
.bottom-nav{
  display:none;position:fixed;bottom:0;left:0;right:0;
  background:var(--bottom-nav-bg);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--border);
  z-index:45;padding:6px 0 env(safe-area-inset-bottom,6px);
  justify-content:space-around;align-items:center;
}
.bottom-nav a,.bottom-nav button{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:6px 14px;border:none;background:none;cursor:pointer;
  text-decoration:none;color:var(--text-tertiary);
  font-size:11px;font-weight:500;transition:color .15s;
  -webkit-tap-highlight-color:transparent;border-radius:var(--radius-lg);
  position:relative;
}
.bottom-nav a.active,.bottom-nav button.active{color:var(--blue)}
.bottom-nav a.active::after{display:none}
.bottom-nav .bottom-nav-esci{color:var(--red)!important}
.bottom-nav .bottom-nav-esci svg{stroke:var(--red)!important}
.bottom-nav svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bottom-nav a.active svg,.bottom-nav button.active svg{stroke-width:2}
.bottom-nav-more{
  position:fixed;bottom:calc(56px + env(safe-area-inset-bottom,34px));
  left:8px;right:8px;
  background:var(--card);border:1px solid var(--border);
  
  z-index:44;padding:6px;display:none;
  border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);
}
.bottom-nav-more.open{display:block}
.bottom-nav-more a{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;color:var(--text);
  font-size:13px;font-weight:500;
  text-decoration:none;border-radius:var(--radius-lg);transition:background .1s;
}
.bottom-nav-more a:active{background:var(--card-alt)}
.bottom-nav-more a.active{color:var(--blue);background:var(--blue-light)}
.bottom-nav-more a svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ---- RESPONSIVE BASE ---- */
@media(max-width:768px) and (pointer:coarse){
  .sidebar{transform:translateX(-100%);top:0;left:0;width:240px;height:100vh;border-radius:0}
  .sidebar.open{transform:translateX(0)}
  .sidebar-backdrop.open{display:block}
  .bottom-nav{display:flex}
  .main-content{margin-left:0!important;padding:calc(16px + env(safe-area-inset-top,0px)) 14px 80px!important}
  .page-title{font-size:20px}
}

/* ---- MAIN CONTENT ---- */
.main-content{margin-left:200px;padding:28px 28px;min-height:100vh}
.main-content>*{max-width:none;width:100%}
.main-content.full-width>*{max-width:none}
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:14px}
.page-title{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-0.4px;line-height:1.2}

/* ---- BUTTONS ---- */
.btn-primary{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 18px;
  background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);
  color:#fff;border:none;border-radius:var(--radius-sm);
  font-size:13px;font-weight:600;cursor:pointer;
  transition:all .2s;
  box-shadow:none;
}
.btn-primary:hover{
  background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);
  box-shadow:none;
}
.btn-primary:active{opacity:0.9}
.btn-primary svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* ---- ACTION BTNS ---- */
.act-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border:1px solid var(--border);
  background:var(--card);cursor:pointer;
  border-radius:var(--radius-sm);color:var(--text-tertiary);
  transition:all .15s;
}
.act-btn:hover{color:var(--text-secondary);border-color:var(--text-tertiary);background:var(--card-alt)}
.act-btn.danger:hover{color:var(--red);border-color:rgba(220,38,38,0.3);background:rgba(220,38,38,0.04)}
.act-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---- STAT CARDS ---- */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.stat-card{
  background:var(--card);border-radius:var(--radius-lg);padding:20px 24px;
  border:1px solid var(--border);
  transition:all .2s;
  box-shadow:var(--shadow-xs);
  position:relative;overflow:hidden;
  
}
.stat-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);border-radius:0 2px 2px 0;
}
.stat-card:hover{box-shadow:var(--shadow-sm)}
.stat-card .label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;color:var(--text-tertiary)}
.stat-card .value{font-size:28px;font-weight:700;color:var(--text);letter-spacing:-1px;line-height:1}
@media(max-width:768px) and (pointer:coarse){.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px}.stat-card{padding:14px 16px;border-radius:var(--radius-lg)}.stat-card .value{font-size:22px}}

/* ---- FILTER BAR ---- */
.filter-toggle{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border:1px solid var(--border);
  border-radius:var(--radius-sm);background:var(--card);
  cursor:pointer;font-size:13px;color:var(--text-secondary);
  font-weight:500;transition:all .15s;
  box-shadow:var(--shadow-xs);
}
.filter-toggle:hover{color:var(--text);border-color:#d1d5db}
.filter-toggle svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.filters-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;overflow:hidden;transition:max-height .25s var(--ease),opacity .25s,margin .25s}
.filters-row.collapsed{max-height:0;opacity:0;margin-bottom:0}
.filters-row input,.filters-row select{
  padding:9px 14px;border:1px solid var(--border);
  border-radius:var(--radius-sm);font-size:13px;outline:none;
  background:var(--card);color:var(--text);min-width:0;flex:1;max-width:180px;
  transition:all .15s;font-family:inherit;
}
.filters-row input:focus,.filters-row select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}
.filters-row input::placeholder{color:var(--text-tertiary)}
@media(max-width:768px) and (pointer:coarse){.filters-row input,.filters-row select{max-width:none;flex:1 1 calc(50% - 4px)}}

/* ---- TABLE ---- */
.table-wrap{
  background:var(--card);border-radius:var(--radius-lg);
  overflow:hidden;border:1px solid var(--border);
  box-shadow:var(--shadow-xs);
  
}
.table-wrap table{width:100%;border-collapse:collapse;font-size:13px}
.table-wrap thead th{
  background:var(--card-alt);color:var(--text-tertiary);
  font-weight:600;font-size:11px;padding:12px 16px;
  text-align:left;white-space:nowrap;letter-spacing:.4px;text-transform:uppercase;
  border-bottom:1px solid var(--border);
}
.table-wrap thead th:first-child{padding-left:20px}
.table-wrap tbody td{padding:14px 16px;border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:middle}
.table-wrap tbody td:first-child{padding-left:20px}
.table-wrap tbody tr:last-child td{border-bottom:none}
.table-wrap tbody tr:hover td{background:var(--card-alt)}
.table-wrap tbody tr{transition:all .15s;position:relative}
.table-wrap tbody tr:hover{box-shadow:inset 3px 0 0 var(--blue)}
.table-wrap .pagination{border-top:1px solid var(--border)}
.td-bold{color:var(--text)!important;font-weight:600}
.td-mono{font-family:'SF Mono',Monaco,Consolas,monospace;font-size:13px;color:var(--text-tertiary)!important}
.td-dash{color:var(--text-tertiary)}

/* ---- PAGINATION ---- */
.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;flex-wrap:wrap;gap:6px}
.pagination .info{font-size:13px;color:var(--text-secondary);font-weight:500}
.pagination .pages{display:flex;gap:4px;align-items:center}
.pagination button{
  width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;
  color:var(--text-secondary);font-size:13px;cursor:pointer;
  transition:all .15s;font-weight:500;
}
.pagination button:hover:not(:disabled){color:var(--text);border-color:#d1d5db;background:var(--card-alt)}
.pagination button.active{border-color:var(--blue);color:var(--blue);background:var(--blue-light);font-weight:600}
.pagination button:disabled{opacity:.3;cursor:default}
.pagination button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pagination-glass{background:var(--card);border-radius:var(--radius-md);margin-top:8px;border:1px solid var(--border)}

/* ---- CHIAMATE GROUPS ---- */
.group-block{
  background:var(--card);border-radius:var(--radius-lg);
  overflow:hidden;margin-bottom:8px;
  border:1px solid var(--border);
  transition:all .2s;
  box-shadow:var(--shadow-xs);
  
}
.group-block:hover{box-shadow:var(--shadow-sm)}
.group-head{padding:16px 20px 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.group-head-left h3{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;letter-spacing:-0.1px}
.group-tags{display:flex;gap:4px;flex-wrap:wrap}
.group-tag{
  display:inline-block;padding:2px 8px;
  background:var(--card-alt);border:1px solid var(--border);border-radius:3px;
  font-size:11px;color:var(--text-secondary);font-weight:500;
  font-family:'SF Mono',Monaco,monospace;letter-spacing:.2px;
}
.group-head-right{text-align:right;flex-shrink:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.group-sub-table{width:100%;border-collapse:collapse;font-size:13px}
.group-sub-table thead th{
  padding:9px 18px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;
  color:var(--text-tertiary);text-align:left;
  border-bottom:1px solid var(--border);border-top:1px solid var(--border);
  background:var(--card-alt);
}
.group-sub-table tbody td{padding:9px 18px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:13px}
.group-sub-table tbody tr:last-child td{border-bottom:none}
.group-sub-table tbody tr:hover td{background:var(--card-alt)}
.group-block-header{padding:16px 20px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border)}
.group-prop-card{padding:12px 20px;border-bottom:1px solid var(--border)}
.group-prop-card:last-child{border-bottom:none}
.esito-date{font-size:12px;color:var(--text-tertiary);font-family:'SF Mono',Monaco,monospace;white-space:nowrap;letter-spacing:.2px}
.empty-state{padding:60px 20px;text-align:center;color:var(--text-tertiary);font-size:14px;font-weight:500}

/* ---- RECORD CARDS ---- */
.record-card{
  background:var(--card);border-radius:var(--radius-md);
  padding:16px 20px;margin-bottom:8px;
  border:1px solid var(--border);
  transition:all .2s;
  box-shadow:var(--shadow-xs);
  
}
.record-card:hover{box-shadow:var(--shadow-sm)}
.record-card:last-child{margin-bottom:0}
.record-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.record-card-name{font-size:14px;font-weight:600;color:var(--text);letter-spacing:-0.1px}
.record-card-cf{font-family:'SF Mono',Monaco,monospace;font-size:12px;color:var(--text-tertiary);margin-top:2px}
.record-card-tel{color:var(--blue);font-weight:600;font-size:13px;margin-top:3px}
.record-card-actions{display:flex;gap:4px;flex-shrink:0}
@media(max-width:768px) and (pointer:coarse){.record-card{padding:14px 16px;border-radius:var(--radius-lg)}.record-card-name{font-size:14px}}

/* ---- MOBILE TABLE/CARDS ---- */
@media(max-width:768px) and (pointer:coarse){
  .table-wrap table thead{display:none}
  .table-wrap table tbody tr{display:block;border-bottom:1px solid var(--border)}
  .table-wrap table tbody td{display:block;padding:2px 16px;border-bottom:none;font-size:14px}
  .table-wrap table tbody td:first-child{padding-top:12px}
  .table-wrap table tbody td:last-child{padding-bottom:12px}
  .mobile-card-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:2px}
  .mobile-card-cf{font-family:'SF Mono',Monaco,monospace;font-size:12px;color:var(--text-tertiary)}
  .mobile-card-tel{color:var(--blue);font-weight:600;font-size:13px;margin-top:2px}
  .mobile-card-actions{display:flex;gap:6px;margin-top:8px}
  .group-block{margin-bottom:6px;border-radius:var(--radius-lg)}
  
  .group-sub-table thead{display:none}
  .group-sub-table tbody tr{display:block;padding:10px 16px;border-bottom:1px solid var(--border)}
  .group-sub-table tbody td{display:block;padding:1px 0;border-bottom:none}
}

/* ---- MODAL ---- */
.modal-overlay{
  position:fixed;inset:0;background:var(--modal-overlay);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:24px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;
}
.modal-overlay.open{opacity:1;visibility:visible}
.modal-box{
  background:var(--modal-bg);
  border-radius:var(--radius-xl);
  border:1px solid var(--border);
  box-shadow:0 24px 48px -12px rgba(0,0,0,0.15),0 0 0 1px rgba(0,0,0,0.03);
  width:100%;max-width:540px;max-height:90vh;
  display:flex;flex-direction:column;
  overflow:hidden;margin:auto;
}
.modal-overlay.open .modal-box{transform:none}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}
.modal-header h2{font-size:16px;font-weight:600;color:var(--text);letter-spacing:-0.2px}
.modal-close{
  width:32px;height:32px;border-radius:var(--radius-lg);border:1px solid transparent;
  background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-tertiary);transition:all .15s;
}
.modal-close:hover{color:var(--text-secondary);background:var(--card-alt);border-color:var(--border)}
.modal-close svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.modal-body{padding:20px 24px;overflow-y:auto;flex:1}
.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;background:var(--card-alt)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-group{margin-bottom:0}
.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:5px;letter-spacing:0.2px;text-transform:uppercase}

/* Global input/select/textarea */
input[type="text"],input[type="number"],input[type="email"],input[type="password"],input[type="tel"],input[type="time"],input[type="date"],input[type="search"],textarea,select,.form-group input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.form-group textarea,.form-group select,.crm-filter-group input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.crm-filter-group select{
  width:100%;padding:10px 14px;
  border:1px solid var(--border)!important;
  border-radius:var(--radius-sm)!important;
  font-size:13px!important;outline:none;
  color:var(--text);transition:all .15s;
  font-family:inherit;background-color:var(--input-bg)!important;
  -webkit-appearance:none;appearance:none;line-height:1.5;
}
select{
  -webkit-appearance:none!important;appearance:none!important;
  background-color:var(--input-bg)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 10px center!important;padding-right:30px!important;
}
[style*="flex:0 0 140px"]{flex:0 0 160px!important}
select::-ms-expand{display:none}
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0}
input[type="number"]{-moz-appearance:textfield}
textarea{resize:vertical;min-height:72px;border-radius:var(--radius-sm)!important}
input:focus:not([type="checkbox"]):not([type="radio"]),textarea:focus,.form-group input:focus:not([type="checkbox"]):not([type="radio"]),.form-group textarea:focus,.crm-filter-group input:focus:not([type="checkbox"]):not([type="radio"]){
  border-color:var(--blue)!important;box-shadow:0 0 0 3px var(--blue-glow);
}
select:focus,.form-group select:focus,.crm-filter-group select:focus{
  border-color:var(--blue)!important;box-shadow:0 0 0 3px var(--blue-glow);
}
input::placeholder,textarea::placeholder{color:var(--text-tertiary)}

.btn-cancel{
  padding:9px 18px;border:1px solid var(--border);
  border-radius:var(--radius-sm);background:var(--card);
  
  color:var(--text-secondary);font-size:13px;font-weight:500;
  cursor:pointer;transition:all .15s;
}
.btn-cancel:hover{color:var(--text)}
.btn-save{
  padding:9px 18px;border:none;border-radius:var(--radius-sm);
  background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);
  color:#fff;font-size:13px;font-weight:600;
  cursor:pointer;transition:all .2s;
  box-shadow:none;
}
.btn-save:hover{
  background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);
  box-shadow:none;
}
.btn-save:active{opacity:0.9}
.btn-danger{
  padding:9px 18px;border:1px solid rgba(220,38,38,0.25);border-radius:var(--radius-sm);
  background:transparent;color:var(--red);font-size:13px;font-weight:500;
  cursor:pointer;transition:all .15s;
}
.btn-danger:hover{border-color:rgba(220,38,38,0.4);background:rgba(220,38,38,0.04)}
.btn-green{
  padding:9px 18px;border:1px solid rgba(5,150,105,0.25);border-radius:var(--radius-sm);
  background:transparent;color:var(--green);font-size:13px;font-weight:500;
  cursor:pointer;transition:all .15s;
}
.btn-green:hover{border-color:rgba(5,150,105,0.4);background:rgba(5,150,105,0.04)}

/* ---- TOAST ---- */
.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{
  padding:12px 20px;border-radius:var(--radius-md);
  font-size:13px;font-weight:600;color:#fff;
  box-shadow:var(--shadow-lg);
  max-width:360px;pointer-events:auto;
  
}
.toast.success{background:#059669}
.toast.error{background:#dc2626}
.toast.info{background:var(--blue)}

/* ---- LOADING ---- */
.loading-overlay{position:absolute;inset:0;background:rgba(255,255,255,0.8);display:flex;align-items:center;justify-content:center;z-index:5;border-radius:var(--radius-md)}
.loading-spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin .6s linear infinite}

/* ---- ESITO BADGES ---- */
.esito-badge{
  display:inline-block;padding:3px 10px;border-radius:var(--radius-sm);
  font-size:11px;font-weight:600;white-space:nowrap;letter-spacing:.1px;
  background:var(--card-alt);color:var(--text-secondary);border:1px solid var(--border);
}

.esito-badge.tnt{background:#fef2f2;color:#dc2626;border-color:#fecaca}
.esito-badge.nsn{background:#fffbeb;color:#d97706;border-color:#fde68a}
.esito-badge.fn{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}
.esito-badge.acq{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}
.esito-badge.inc{background:#faf5ff;color:#7c3aed;border-color:#ddd6fe}
.esito-badge.fix{background:#ecfeff;color:#0891b2;border-color:#a5f3fc}
.esito-badge.wa{background:#f0fdf4;color:#059669;border-color:#a7f3d0}
.esito-badge.da-contattare{background:#f9fafb;color:#6b7280;border-color:#e5e7eb}

/* ---- PROGRESS BAR ---- */
.progress-bar{height:4px;background:var(--border);border-radius:var(--radius-lg);overflow:hidden}
.progress-bar .fill{height:100%;background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);border-radius:var(--radius-lg);transition:width .3s var(--ease);width:0%}

/* ---- HISTORY ---- */
.history-list{list-style:none}
.history-item{padding:10px 0;border-bottom:1px solid var(--border)}
.history-item:last-child{border-bottom:none}

/* ---- DROP ZONE ---- */
.drop-zone{border:1px dashed var(--border);border-radius:var(--radius-lg);padding:40px;text-align:center;cursor:pointer;transition:all .15s}
.drop-zone:hover{border-color:var(--blue);background:var(--blue-light)}
.drop-zone svg{width:36px;height:36px;color:var(--text-tertiary);stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 10px}
.drop-zone p.main{font-size:14px;font-weight:600;color:var(--text)}
.drop-zone p.sub{font-size:13px;color:var(--text-secondary);margin-top:3px}

/* ============================================
   CRM CARDS
   ============================================ */
.crm-card{
  background:var(--card);border-radius:var(--radius-lg);
  overflow:hidden;margin-bottom:8px;
  border:1px solid var(--border);
  transition:all .2s;
  box-shadow:var(--shadow-xs);
  
}
.crm-card:hover{box-shadow:var(--shadow-sm)}

.crm-header{padding:16px 20px;display:flex;align-items:center;gap:12px}
.crm-avatar{
  width:32px;height:32px;border-radius:var(--radius-lg);
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:600;flex-shrink:0;
  letter-spacing:0;text-transform:uppercase;
}

.crm-avatar.av-blue{background:rgba(37,99,235,0.1);color:#2563eb;border:none}
.crm-avatar.av-green{background:rgba(5,150,105,0.1);color:#059669;border:none}
.crm-avatar.av-orange{background:rgba(217,119,6,0.1);color:#d97706;border:none}
.crm-avatar.av-gray{background:var(--card-alt);color:var(--text-secondary);border:1px solid var(--border)}
.crm-avatar.av-purple{background:rgba(124,58,237,0.1);color:#7c3aed;border:none}
.crm-header-info{flex:1;min-width:0}
.crm-header-name{font-size:14px;font-weight:600;color:var(--text);letter-spacing:-0.1px;line-height:1.3}
.crm-header-phone{font-size:13px;font-weight:500;color:var(--text-secondary);margin-top:2px}
.crm-header-phone a{color:inherit;text-decoration:none}
.crm-header-phone a:hover{opacity:0.7}
.crm-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}
.crm-header-budget{flex-shrink:0}

.crm-details{
  padding:14px 20px;background:var(--card-alt);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:8px 16px;border-top:1px solid var(--border);
}
.crm-detail-item{min-width:0}
.crm-detail-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:2px}
.crm-detail-value{font-size:13px;color:var(--text);font-weight:500;line-height:1.4}

/* ---- BANCA DATI CARD ---- */
.bd-budget{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-0.5px;flex-shrink:0;line-height:1}
.bd-body{padding:12px 20px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}
.bd-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.bd-label{font-size:11px;font-weight:600;color:var(--text-tertiary);min-width:80px;flex-shrink:0;text-transform:uppercase;letter-spacing:.3px}
.bd-chip{display:inline-flex;align-items:center;padding:3px 10px;background:var(--card-alt);border:1px solid var(--border);border-radius:3px;font-size:12px;font-weight:500;color:var(--text-secondary)}

.bd-chip-red{background:var(--card-alt);border-color:var(--border);color:var(--text-secondary);font-weight:600}
.bd-tag-tipo{background:var(--card-alt)!important;color:var(--text-secondary)!important;border:1px solid var(--border)!important}
.bd-tag-feat{background:var(--card-alt)!important;color:var(--text-secondary)!important;border:1px solid var(--border)!important}
.bd-budget{color:var(--text)}
@media(max-width:768px) and (pointer:coarse){.bd-body{padding:10px 16px}.bd-budget{font-size:16px}}

.crm-tags-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.crm-tag{
  display:inline-block;padding:2px 8px;
  background:var(--card-alt);border:1px solid var(--border);border-radius:3px;
  font-size:11px;color:var(--text-secondary);font-weight:500;letter-spacing:.1px;
}


.crm-notes{padding:14px 20px;border-top:1px solid var(--border)}
.crm-note-block{font-size:13px;color:var(--text-secondary);line-height:1.5}
.crm-note-block+.crm-note-block{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}
.crm-note-label{font-weight:600;color:var(--text);font-size:11px;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}
.crm-note-label.blue{color:var(--blue)}

.crm-actions{padding:14px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.crm-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);
  font-size:13px;font-weight:500;cursor:pointer;background:var(--card);
  transition:all .15s;letter-spacing:0;white-space:nowrap;color:var(--text-secondary);
}
.crm-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.crm-btn:hover{border-color:#d1d5db;color:var(--text)}
.crm-btn-primary{
  border-color:var(--blue);color:#fff;
  background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);
  box-shadow:0 1px 3px rgba(37,99,235,0.3),inset 0 1px 0 rgba(255,255,255,0.1);
}
.crm-btn-primary:hover{
  background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);
  border-color:var(--blue-hover);
  box-shadow:0 2px 8px rgba(37,99,235,0.35);
}
.crm-btn-primary:active{opacity:0.9}
.crm-btn-secondary{color:var(--text-secondary);background:var(--card)}
.crm-btn-secondary:hover{color:var(--text);background:var(--card-alt)}
.crm-btn-danger{border-color:rgba(220,38,38,0.25);color:var(--red);background:transparent}
.crm-btn-danger:hover{border-color:rgba(220,38,38,0.4);background:rgba(220,38,38,0.04)}

/* Icon buttons */
.crm-icon-btn{
  width:32px;height:32px;border-radius:var(--radius-lg);
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);
  background:var(--card);cursor:pointer;
  
  transition:all .15s;flex-shrink:0;
}
.crm-icon-btn svg{
  width:14px;height:14px;stroke:var(--text-tertiary);fill:none;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .15s;
}
.crm-icon-btn:hover{border-color:#d1d5db;background:var(--card-alt)}
.crm-icon-btn:hover svg{stroke:var(--text-secondary)}
.crm-icon-btn-green svg{stroke:var(--green)}
.crm-icon-btn-green:hover{border-color:rgba(5,150,105,0.3)}
.crm-icon-btn-green:hover svg{stroke:#047857}
.crm-icon-btn-danger svg{stroke:var(--red)}
.crm-icon-btn-danger:hover{border-color:rgba(220,38,38,0.3)}
.crm-icon-btn-danger:hover svg{stroke:#b91c1c}

.crm-esito-lg{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 10px;border-radius:3px;
  font-size:12px;font-weight:600;letter-spacing:.1px;white-space:nowrap;
  background:var(--card-alt);border:1px solid var(--border);color:var(--text-secondary);
}

.crm-esito-lg.tnt{background:#fef2f2;border-color:#fca5a5;color:#dc2626}
.crm-esito-lg.nsn{background:#fffbeb;border-color:#fcd34d;color:#d97706}
.crm-esito-lg.fn{background:#f0fdf4;border-color:#86efac;color:#16a34a}
.crm-esito-lg.acq{background:#eff6ff;border-color:#93c5fd;color:#2563eb}
.crm-esito-lg.inc{background:#faf5ff;border-color:#c4b5fd;color:#7c3aed}
.crm-esito-lg.fix{background:#ecfeff;border-color:#67e8f9;color:#0891b2}
.crm-esito-lg.wa{background:#f0fdf4;border-color:#86efac;color:#059669}
.crm-esito-lg.da-contattare{background:#f9fafb;border-color:#d1d5db;color:#6b7280}

/* CRM Card proprietari rows */
.crm-header-actions{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap}
.crm-prop-row{padding:9px 18px;display:flex;align-items:center;gap:10px}
.crm-prop-info{flex:1;min-width:0}
.crm-prop-delete{padding:4px 10px;font-size:12px;flex-shrink:0}
.crm-prop-edit-wrap{flex-shrink:0}

@media(max-width:768px) and (pointer:coarse){
  
  .crm-card{border-radius:var(--radius-lg)}
  .crm-header{padding:12px 16px;gap:10px}
  .crm-avatar{width:26px;height:26px;font-size:10px;border-radius:2px}
  .crm-header-name{font-size:13px}
  .crm-details{padding:10px 16px;grid-template-columns:1fr 1fr;gap:8px 12px}
  .crm-notes{padding:10px 16px}
  .crm-actions{padding:10px 16px}
}

/* ============================================
   CRM TABLE LAYOUT
   ============================================ */
.crm-table-wrap{
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);background:var(--card);
  box-shadow:var(--shadow-xs);
  
}
.crm-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:auto}
.crm-table thead th{
  background:var(--card-alt);color:var(--text-tertiary);
  font-weight:600;font-size:10px;padding:10px 12px;
  text-align:left;white-space:nowrap;letter-spacing:.5px;
  text-transform:uppercase;border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:1;
}
.crm-table thead th:first-child{padding-left:16px;border-radius:var(--radius-lg) 0 0 0}
.crm-table thead th:last-child{padding-right:16px;text-align:right;border-radius:0 var(--radius-lg) 0 0}
.crm-table tbody tr{transition:none}
.crm-table tbody tr:hover>td{background:transparent}
.crm-table tbody tr:hover{box-shadow:none}
.crm-table tbody td{
  padding:8px 12px;border-bottom:none;
  color:var(--text-secondary);vertical-align:top;font-size:13px;font-weight:500;
}
.crm-table tbody td:first-child{padding-left:16px}
.crm-table tbody td:last-child{padding-right:16px;text-align:right}
.crm-table tbody tr.group-first>td{border-top:1px solid var(--border)}
.crm-table tbody tr.group-first:first-child>td{border-top:none}

/* Proprietari list in chiamate table */
.prop-list{min-width:220px;max-width:340px}
.prop-row{padding:5px 0;box-sizing:border-box}
.prop-row-border{border-top:1px solid var(--border)}
.prop-row-main{display:flex;align-items:flex-start;gap:8px;font-size:13px;flex-wrap:wrap}
.prop-row-meta{display:flex;gap:8px;margin-top:2px;font-size:11px;color:var(--text-tertiary);font-family:'SF Mono',Monaco,monospace;letter-spacing:.2px;min-height:16px}

/* Cell utilities */
.td-name{color:var(--text);font-weight:600;font-size:13px;display:inline;word-wrap:break-word;overflow-wrap:break-word}
.td-address{color:var(--text);font-weight:500;font-size:13px}
.td-phone-valid{color:#059669;font-weight:600}
.td-phone-invalid{color:#dc2626;font-weight:500}
.td-cf{font-family:'SF Mono',Monaco,monospace;font-size:12px;color:var(--text-tertiary);font-weight:600;letter-spacing:.3px}
.td-fps{display:inline-flex;align-items:center;gap:2px}
.td-fps-badge{font-size:10px;font-weight:600;color:var(--text-tertiary)}
.td-muted{color:var(--text-tertiary)}
.td-count{font-weight:600;color:var(--text)}
.td-budget{color:var(--text);font-weight:600;white-space:nowrap}
.td-tags{display:flex;flex-wrap:wrap;gap:3px}
.td-tag{font-size:10px;padding:2px 8px;border-radius:3px;background:var(--card-alt);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap}
.td-notes{color:var(--text-tertiary);font-size:12px}

/* Actions column */
.td-actions{display:flex;gap:4px;justify-content:flex-end;align-items:center}
.td-actions .crm-icon-btn{width:28px;height:28px}
.td-actions .crm-icon-btn svg{width:13px;height:13px}

/* Expandable sub-rows */
.crm-table .sub-row>td{padding:0;border-bottom:1px solid var(--border);background:var(--card-alt)}
.sub-row-content{padding:6px 16px 8px 40px}
.sub-row-item{
  display:flex;align-items:center;gap:10px;
  padding:5px 0;border-bottom:1px solid var(--border);font-size:12px;
}
.sub-row-item:last-child{border-bottom:none}

/* Expand chevron */
.expand-toggle{cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.expand-chevron{
  width:14px;height:14px;stroke:var(--text-tertiary);fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .15s;flex-shrink:0;
}
.expand-chevron.open{transform:rotate(180deg)}

/* Tabella: proporzioni fisse */
.crm-table[style*="table-layout:fixed"]{min-width:1100px}

@media(max-width:768px) and (pointer:coarse){
  .crm-table-wrap{border-radius:var(--radius-lg);margin:0 -2px}
  .crm-table:not([style*="table-layout:fixed"]){min-width:650px}
  .crm-table thead th{padding:6px 8px;font-size:9px}
  .crm-table tbody td{padding:7px 8px;font-size:12px}
  .td-actions .crm-icon-btn{width:26px;height:26px}
  .sub-row-content{padding-left:24px}
}

/* ---- MULTI-SELECT PILLS ---- */
.pill-select{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}
.pill-select label{
  display:inline-flex;align-items:center;gap:4px;
  padding:7px 16px;border:1px solid var(--border);
  border-radius:var(--radius-sm);font-size:13px;font-weight:500;
  color:var(--text-secondary);cursor:pointer;transition:all .15s;
  user-select:none;-webkit-user-select:none;background:var(--card);
  
}
.pill-select label:active{opacity:0.9}
.pill-select input[type="checkbox"]{display:none}
.pill-select input[type="checkbox"]:checked+span{color:var(--blue)}
.pill-select label:has(input:checked){border-color:var(--blue);background:var(--blue-light);color:var(--blue);font-weight:600}

/* ---- CRM FILTERS ---- */
.crm-filter-toggle{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border:1px solid var(--border);
  border-radius:var(--radius-sm);background:var(--card);
  cursor:pointer;font-size:13px;font-weight:500;
  color:var(--text-secondary);transition:all .15s;
  box-shadow:var(--shadow-xs);
}
.crm-filter-toggle:hover{color:var(--text);border-color:#d1d5db}
.crm-filter-toggle svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.crm-filter-chevron{width:10px!important;height:10px!important;transition:transform .2s}

.crm-filters{
  background:var(--card);border-radius:var(--radius-lg);
  padding:18px 24px;margin-bottom:18px;
  overflow:hidden;transition:max-height .25s var(--ease),opacity .25s,margin .25s,padding .25s;
  border:1px solid var(--border);
  box-shadow:var(--shadow-xs);
  
}
.crm-filters.collapsed{max-height:0;opacity:0;margin-bottom:0;padding:0 24px;border-color:transparent}
.crm-filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.crm-filter-group label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}
.crm-filter-group input,.crm-filter-group select{
  width:100%;padding:8px 12px;border:1px solid var(--border);
  border-radius:var(--radius-sm);font-size:13px;outline:none;
  background:var(--input-bg);color:var(--text);transition:all .15s;font-family:inherit;
}
.crm-filter-group input:focus,.crm-filter-group select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}
.crm-filter-group input::placeholder{color:var(--text-tertiary)}
@media(max-width:768px) and (pointer:coarse){.crm-filters-grid{grid-template-columns:1fr 1fr;gap:8px}.crm-filters{padding:12px 14px;border-radius:var(--radius-lg)}.crm-filters.collapsed{padding:0 14px}}

/* ============================================
   DASHBOARD
   ============================================ */
.dash-greeting{
  display:flex;align-items:center;gap:12px;margin-bottom:24px;
  padding:0;background:transparent;
}
.dash-greeting-avatar{display:none}
.dash-greeting-text{font-size:14px;font-weight:500;color:var(--text-secondary);letter-spacing:0}
.dash-greeting-sub{font-size:12px;color:var(--text-tertiary);margin-top:2px;font-weight:400}

.dash-hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.dash-hero-grid .dash-hero-card{flex:none;min-width:0;margin-bottom:0}
.dash-hero-card{
  display:block;
  padding:20px 24px;background:var(--card);
  border-radius:var(--radius-lg);margin-bottom:0;
  border:1px solid var(--border);
  box-shadow:var(--shadow-xs);
  
  transition:all .2s;
}
.dash-hero-card:hover{box-shadow:var(--shadow-sm)}
.dash-hero-icon{display:none}
.dash-hero-label{display:block;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.dash-hero-value{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-0.5px;line-height:1;margin-top:0}

.dash-section-title{
  font-size:11px;font-weight:600;color:var(--text-tertiary);
  letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase;
}
.dash-section-dot{display:none}

.dash-esiti-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.dash-esiti-5{grid-template-columns:repeat(5,1fr)}
.dash-esiti-4{grid-template-columns:repeat(4,1fr)}
.dash-esito-card{
  display:block;
  background:var(--card);border-radius:var(--radius-md);
  padding:16px 18px;border:1px solid var(--border);
  position:relative;overflow:visible;
  min-width:0;
  box-shadow:var(--shadow-xs);
  
  transition:all .2s;
}
.dash-esito-card:hover{box-shadow:var(--shadow-sm)}
.dash-esito-indicator{display:none}
.dash-esito-label{
  width:auto;height:auto;border-radius:0;
  display:block;
  font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;
  border:none;margin-bottom:6px;flex-shrink:0;background:none!important;
}
/* Colored esito labels in dashboard */
.dash-esito-label.tnt{color:#dc2626}
.dash-esito-label.nsn{color:#d97706}
.dash-esito-label.fn{color:#059669}
.dash-esito-label.acq{color:#2563eb}
.dash-esito-label.inc{color:#7c3aed}
.dash-esito-label.fix{color:#0891b2}
.dash-esito-label.wa{color:#059669}
.dash-esito-value{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-0.5px;line-height:1}
.dash-esito-desc{display:none}

/* Todo items */
.todo-check{
  width:18px;height:18px;border-radius:3px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);
  cursor:pointer;transition:all .15s;background:transparent;
}
.todo-check svg{
  width:12px;height:12px;stroke:var(--text-tertiary);fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .15s;
}
.todo-check:hover{border-color:var(--blue);background:var(--blue-light)}
.todo-check:hover svg{stroke:var(--blue)}
.todo-check.done{border-color:#059669;background:#059669}
.todo-check.done svg{stroke:#fff}
.todo-text{position:relative;display:inline-block}
.todo-text::after{
  content:'';position:absolute;left:0;top:50%;
  width:0;height:1px;background:var(--text-tertiary);transition:width .3s;
}
.todo-text.strike::after{width:100%}

.dash-agent-card{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;background:var(--card);
  border-radius:var(--radius-md);margin-bottom:4px;
  border:1px solid var(--border);
  transition:all .2s;
  box-shadow:var(--shadow-xs);
}
.dash-agent-card:hover{border-color:#d1d5db;box-shadow:var(--shadow-sm)}
.dash-agent-esiti{display:flex;gap:4px;flex-wrap:wrap}

@media(max-width:768px) and (pointer:coarse){
  .dash-greeting{padding:16px;gap:10px;border-radius:var(--radius-lg)}
  .dash-greeting-text{font-size:16px}
  .dash-hero-grid{grid-template-columns:1fr 1fr;gap:8px}
  .dash-hero-card{padding:12px 14px;border-radius:var(--radius-lg)}
  .dash-hero-value{font-size:20px}
  .dash-esiti-grid{grid-template-columns:repeat(3,1fr)!important;gap:6px}
  .dash-esito-card{padding:10px 12px;border-radius:var(--radius-lg)}
  .dash-esito-value{font-size:18px}
  .dash-agent-card{padding:10px 12px;gap:8px;flex-wrap:wrap;border-radius:var(--radius-lg)}
  
  .dash-agent-esiti{width:100%;margin-top:2px}
}

/* ---- IMPORT CLIENTI ---- */
.import-card{
  background:var(--card);border-radius:var(--radius-lg);
  overflow:hidden;margin-bottom:10px;
  border:1px solid var(--border);
  box-shadow:var(--shadow-xs);
}
.import-card-header{display:flex;align-items:center;gap:12px;padding:16px 20px}
.import-card-icon{width:36px;height:36px;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0}

.import-code-block{display:block;padding:12px 16px;background:var(--card-alt);border-radius:var(--radius-lg);font-size:13px;color:var(--text);font-family:'SF Mono',Monaco,Consolas,monospace;letter-spacing:.3px;border:1px solid var(--border)}

.import-drop-zone{padding:36px 20px;text-align:center;cursor:pointer;transition:all .15s;border-bottom:1px solid var(--border);margin:0}
.import-drop-zone:hover{background:var(--card-alt)}
.import-drop-zone.drag-over{background:var(--blue-light)}
.import-drop-icon{
  width:40px;height:40px;border-radius:3px;
  background:var(--card-alt);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;
}
.import-drop-icon svg{width:22px;height:22px;stroke:var(--text-tertiary);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.import-drop-main{font-size:14px;font-weight:600;color:var(--text)}
.import-drop-sub{font-size:13px;color:var(--text-tertiary);margin-top:4px}

.import-preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}
.import-preview-count{font-size:18px;font-weight:700;color:var(--text);margin:0 6px}
.import-preview-table{overflow-x:auto;max-height:300px;overflow-y:auto}
.import-preview-table table{width:100%;border-collapse:collapse;font-size:13px}
.import-preview-table thead th{padding:9px 18px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);text-align:left;border-bottom:1px solid var(--border);background:var(--card-alt)}
.import-preview-table tbody td{padding:9px 18px;border-bottom:1px solid var(--border)}
.import-preview-table tbody tr:last-child td{border-bottom:none}
.import-preview-table tbody tr:hover td{background:var(--card-alt)}

.import-progress-wrap{padding:20px}
.import-progress-header{display:flex;align-items:center;gap:12px}
.import-progress-icon{width:32px;height:32px;border-radius:var(--radius-lg);background:var(--card-alt);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.import-progress-bar{height:4px;background:var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:8px}
.import-progress-fill{height:100%;background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);border-radius:var(--radius-lg);transition:width .3s var(--ease);width:0%}

.import-result-card{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:var(--radius-md);margin-top:14px}
.import-result-success{background:var(--card-alt);border:1px solid var(--border)}
.import-result-icon{width:28px;height:28px;border-radius:var(--radius-lg);background:var(--card-alt);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.import-result-stats{display:flex;gap:12px;flex-wrap:wrap}
.import-result-stat{font-size:13px;color:var(--text-secondary);font-weight:500}
.import-result-stat strong{font-weight:600}

/* ---- LOGIN ---- */
.login-body{
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  min-height:100vh;min-height:100dvh;padding:20px;
  background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,0.03) 1px,transparent 0);
  background-size:24px 24px;
}
.login-body::before{display:none}
.login-container{width:100%;max-width:400px}
.login-card{
  background:var(--card);border-radius:var(--radius-xl);padding:40px;
  box-shadow:var(--shadow-lg);border:1px solid var(--border);
  
}
.login-logo{text-align:center;margin-bottom:32px}
.login-logo-icon{
  width:52px;height:52px;
  background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);
  border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
  box-shadow:0 4px 12px rgba(37,99,235,0.25);
}

.login-title{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-0.3px}
.login-subtitle{font-size:13px;color:var(--text-secondary);margin-top:4px;font-weight:400}
.login-field{margin-bottom:16px}
.login-field:last-of-type{margin-bottom:24px}
.login-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}
.login-field input{
  width:100%;padding:10px 16px;border:1px solid var(--border);
  border-radius:var(--radius-sm);font-size:14px;outline:none;
  color:var(--text);background:var(--input-bg);transition:all .15s;font-family:inherit;
}
.login-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}
.login-submit{
  width:100%;display:flex;align-items:center;justify-content:center;
  padding:12px;
  background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);
  color:#fff;border:none;
  border-radius:var(--radius-sm);font-size:15px;font-weight:600;
  cursor:pointer;transition:all .2s;font-family:inherit;
  box-shadow:none;
}
.login-submit:hover{
  background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);
  box-shadow:none;
}
.login-submit:active{opacity:0.9}
.login-error{color:var(--red);font-size:13px;text-align:center;margin-top:10px;display:none;font-weight:500}

/* ---- THEME TOGGLE ---- */
.theme-toggle-link{color:var(--text-secondary)!important}
.theme-toggle-link svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---- BADGES ---- */
.badge-incompleto{
  display:inline-flex;align-items:center;gap:3px;
  padding:3px 10px;border-radius:3px;margin-left:8px;
  font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.2px;
  background:var(--card-alt);color:var(--text-secondary);border:1px solid var(--border);
}
.badge-segnalazione{
  display:inline-flex;align-items:center;gap:3px;
  padding:3px 10px;border-radius:3px;
  font-size:11px;font-weight:600;
  background:var(--card-alt);color:var(--text-secondary);border:1px solid var(--border);
}

/* ---- SCROLLBAR ---- */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.1);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.18)}

/* ---- Light theme compatibility ---- */
.sidebar{background:var(--sidebar-bg)}
.sidebar-logo-text h2{color:#fff}
.sidebar-nav a{color:var(--sidebar-text)}
.sidebar-nav a:hover{color:rgba(255,255,255,0.9)}
.sidebar-nav a.active{color:#fff}
.sidebar-logout a:last-child{color:rgba(248,113,113,0.7)}
.sidebar-logout a:last-child:hover{color:#f87171}

.bottom-nav{background:var(--bottom-nav-bg);border-top-color:var(--border)}
.bottom-nav a,.bottom-nav button{color:var(--text-tertiary)}
.bottom-nav a.active,.bottom-nav button.active{color:var(--blue)}
.bottom-nav-more{background:var(--card);border-color:var(--border)}
.bottom-nav-more a{color:var(--text)}

.crm-card{background:var(--card);border-color:var(--border)}
.crm-card:hover{border-color:#d1d5db}
.crm-details{background:var(--card-alt)}
.crm-tag{background:var(--card-alt);border:1px solid var(--border)}
.crm-header{border-bottom-color:var(--border)}
.crm-actions{border-top-color:var(--border)}
.crm-notes{border-top-color:var(--border)}
.crm-details{border-top-color:var(--border)}

.stat-card{background:var(--card);border-color:var(--border)}
.crm-filters{background:var(--card);border-color:var(--border)}
.crm-filter-group input{background:var(--input-bg);color:var(--text);border-color:var(--border)}
.crm-filter-group select{background-color:var(--input-bg);color:var(--text);border-color:var(--border)}

.modal-overlay{background:var(--modal-overlay)}
.modal-box{background:var(--card);border-color:var(--border)}
.modal-close{background:transparent;border-color:transparent}
.modal-close:hover{background:var(--card-alt);border-color:var(--border)}
input:not([type="checkbox"]):not([type="radio"]),textarea,.form-group input:not([type="checkbox"]):not([type="radio"]),.form-group textarea{background-color:var(--input-bg)!important;border-color:var(--border)!important;color:var(--text)}
input:not([type="checkbox"]):not([type="radio"]):focus,textarea:focus,.form-group input:not([type="checkbox"]):not([type="radio"]):focus,.form-group textarea:focus{border-color:var(--blue)!important}
select{background-color:var(--input-bg)!important;border-color:var(--border)!important;color:var(--text)}
input:focus:not([type="checkbox"]):not([type="radio"]),textarea:focus{border-color:var(--blue)!important;box-shadow:0 0 0 3px var(--blue-glow)}
select,.form-group select,.crm-filter-group select{
  background-color:var(--input-bg)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 10px center!important;
  border-color:var(--border)!important;color:var(--text);padding-right:30px!important;
}

.table-wrap{background:var(--card);border-color:var(--border)}
.table-wrap thead th{background:var(--card-alt);color:var(--text-tertiary)}
.table-wrap tbody tr:hover td{background:var(--card-alt)}

.pagination-glass{background:transparent;border-color:var(--border)}
.pagination button{color:var(--text-secondary);border-color:var(--border)}
.pagination button:hover:not(:disabled){color:var(--text);border-color:#d1d5db;background:var(--card-alt)}
.pagination button.active{border-color:var(--blue);color:var(--blue);background:var(--blue-light);font-weight:600}

.group-block{background:var(--card);border-color:var(--border)}
.group-tag{background:var(--card-alt);border:1px solid var(--border)}

.import-card{background:var(--card);border-color:var(--border)}
.import-code-block{background:var(--card-alt);color:var(--text)}
.import-drop-zone:hover{background:var(--card-alt)}
.import-drop-zone.drag-over{background:var(--blue-light)}
.import-drop-icon{background:var(--card-alt);border:1px solid var(--border)}
.import-preview-table thead th{background:var(--card-alt)}
.import-preview-table tbody tr:hover td{background:var(--card-alt)}

.pill-select label{border-color:var(--border);color:var(--text-secondary);background:var(--card)}
.pill-select label:has(input:checked){border-color:var(--blue);background:var(--blue-light);color:var(--blue)}

.crm-btn-primary{background:linear-gradient(180deg,#3b82f6 0%,#2563eb 100%);border-color:transparent;color:#fff}
.crm-btn-primary:hover{background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);border-color:transparent}
.crm-btn-secondary{background:var(--card);color:var(--text-secondary);border-color:var(--border)}
.crm-btn-secondary:hover{color:var(--text);background:var(--card-alt)}
.crm-btn-danger{background:transparent;border-color:rgba(220,38,38,0.25);color:var(--red)}
.crm-btn-danger:hover{background:rgba(220,38,38,0.04);border-color:rgba(220,38,38,0.4)}
.btn-cancel{border-color:var(--border);color:var(--text-secondary);background:var(--card)}

/* Esito badges colors */
.esito-badge.tnt{background:#fef2f2;color:#dc2626;border-color:#fecaca}
.esito-badge.nsn{background:#fffbeb;color:#d97706;border-color:#fde68a}
.esito-badge.fn{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}
.esito-badge.acq{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}
.esito-badge.inc{background:#faf5ff;color:#7c3aed;border-color:#ddd6fe}
.esito-badge.fix{background:#ecfeff;color:#0891b2;border-color:#a5f3fc}
.esito-badge.wa{background:#f0fdf4;color:#059669;border-color:#a7f3d0}
.esito-badge.da-contattare{background:#f9fafb;color:#6b7280;border-color:#e5e7eb}

.badge-incompleto{background:var(--card-alt);color:var(--text-secondary);border-color:var(--border)}
.badge-segnalazione{background:var(--card-alt);color:var(--text-secondary);border-color:var(--border)}

.toast{box-shadow:var(--shadow-sm)}
.loading-overlay{background:rgba(255,255,255,0.8)}
.loading-spinner{border-color:var(--border);border-top-color:var(--blue)}
.empty-state{color:var(--text-tertiary)}

/* Inline color overrides */
[style*="color:#7c3aed"]{color:var(--text-secondary)!important}
[style*="color:#248a3d"]{color:var(--text-secondary)!important}
[style*="color:#a05a00"]{color:var(--text-secondary)!important}
.form-group label{color:var(--text-secondary)!important;text-transform:uppercase;font-size:12px;letter-spacing:.3px}
.crm-filter-group label{color:var(--text-secondary);text-transform:uppercase;font-size:11px}
textarea::placeholder,input::placeholder{color:var(--text-tertiary)!important;opacity:1}
select option{background:var(--input-bg);color:var(--text)}

.page-title{color:var(--text)}
.record-card{background:var(--card);border-color:var(--border)}

/* ============================================
   COMPREHENSIVE MOBILE RESPONSIVE
   ============================================ */
@media(max-width:768px) and (pointer:coarse){
  .form-grid{grid-template-columns:1fr!important;gap:10px!important}
  .crm-filters-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}

  /* Modal: bottom-sheet */
  .modal-overlay{padding:0!important;align-items:flex-end!important}
  .modal-box{max-width:100%!important;max-height:94vh!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0!important}
  .modal-box>div{padding-left:16px!important;padding-right:16px!important}
  .modal-body>div{padding-left:16px!important;padding-right:16px!important}
  .modal-body{padding:14px!important}

  [style*="flex:0 0 140px"]{flex:1 1 100%!important;width:100%!important}

  .page-header{flex-wrap:wrap!important;gap:8px!important}

  .crm-header{flex-wrap:wrap!important;gap:8px!important}
  .crm-header-right{order:-1;width:100%;flex-direction:row;align-items:center;justify-content:flex-start;gap:6px;margin-top:0;padding-bottom:4px;border-bottom:1px solid var(--border);margin-bottom:2px}
  .crm-header-budget{order:-1;width:100%;font-size:16px;padding-bottom:2px}
  .crm-header-actions{width:100%;gap:4px}
  .crm-header-actions .crm-btn{flex:1 1 0;justify-content:center;min-width:0;padding:8px 10px}

  .crm-actions{flex-direction:column!important;gap:6px!important}
  .crm-actions .crm-btn{width:100%;justify-content:center;padding:10px 14px!important;font-size:14px!important;border-radius:var(--radius-lg)!important}

  .crm-prop-row{flex-wrap:wrap;padding:10px 16px;gap:8px}
  .crm-prop-info{flex:1 1 calc(100% - 40px);min-width:0}
  .crm-prop-delete{flex:0 0 100%;justify-content:center;padding:8px 14px;font-size:13px;margin-top:2px;border-radius:var(--radius-lg)!important}

  .prop-row{padding:10px 16px!important;flex-wrap:wrap!important}
  .prop-row .prop-info{flex:1 1 calc(100% - 40px)!important;min-width:0!important}
  .crm-prop-edit-wrap{flex:0 0 100%!important;width:100%!important}
  .prop-row .prop-edit-btn{width:100%!important;justify-content:center!important;padding:8px 14px!important;font-size:13px!important}

  .pill-select label{padding:6px 12px!important;font-size:13px!important}

  .toast-container{left:8px!important;right:8px!important}
  .toast{max-width:none!important;border-radius:var(--radius-lg)!important}

  .dash-agent-esiti{width:100%;justify-content:flex-start}
}

/* Extra small */
@media(max-width:380px) and (pointer:coarse){
  .page-title{font-size:18px!important}
  .crm-header-name{font-size:13px!important}
  .crm-header-actions .crm-btn{font-size:12px!important;padding:6px 8px!important}
  .crm-avatar{width:24px!important;height:24px!important;font-size:9px!important;border-radius:2px!important}
  .dash-esito-value{font-size:16px!important}
  .dash-greeting-text{font-size:14px!important}
  .dash-hero-value{font-size:16px!important}
  .esito-badge{padding:2px 6px!important;font-size:10px!important}
  .crm-filters-grid{grid-template-columns:1fr!important}
}

/* Landscape modal */
@media(max-width:768px) and (pointer:coarse) and (orientation:landscape){
  .modal-overlay{align-items:center!important}
  .modal-box{border-radius:var(--radius-lg)!important;max-height:90vh!important}
}

/* Tablet */
@media(min-width:769px) and (max-width:1024px) and (pointer:coarse){
  .main-content{padding:24px 24px}
  .dash-esiti-grid{gap:10px}
}

/* ============================================
   Skeleton Loading
   ============================================ */
.skeleton-card{pointer-events:none}
.skeleton-circle{
  width:36px;height:36px;border-radius:3px;
  background:linear-gradient(90deg,var(--border) 25%,var(--card-alt) 50%,var(--border) 75%);
  background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;flex-shrink:0;
}
.skeleton-line{
  height:10px;border-radius:3px;
  background:linear-gradient(90deg,var(--border) 25%,var(--card-alt) 50%,var(--border) 75%);
  background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;
}

/* ============================================
   Calendar — Attivita
   ============================================ */
.view-toggle{display:flex;gap:4px;background:var(--card-alt);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}
.view-toggle button{padding:7px 16px;font-size:13px;font-weight:600;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:3px;transition:all .15s}
.view-toggle button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm)}

.cal-nav{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.cal-nav button{width:32px;height:32px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:var(--radius-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.cal-nav button:hover{background:var(--card-alt)}
.cal-nav .cal-nav-label{font-size:14px;font-weight:600;color:var(--text);letter-spacing:-0.2px}
.cal-nav .cal-nav-today{font-size:12px;font-weight:600;color:var(--blue);cursor:pointer;border:none;background:none;width:auto;padding:4px 10px}

.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.cal-day-header{padding:8px 6px;text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;color:var(--text-secondary);background:var(--card-alt)}
.cal-day{background:var(--card);min-height:120px;padding:6px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:background .15s}
.cal-day:hover{background:var(--blue-light)}
.cal-day.today{background:rgba(37,99,235,0.04);box-shadow:inset 0 2px 0 var(--blue)}
.cal-day.other-month{opacity:0.4}
.cal-day-num{font-size:12px;font-weight:700;color:var(--text);padding:2px 4px;margin-bottom:2px}
.cal-day.today .cal-day-num{color:var(--blue)}

.cal-event{padding:3px 6px;border-radius:3px;font-size:11px;font-weight:500;color:var(--text);background:var(--card-alt);border-left:3px solid var(--blue);cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:background .15s}
.cal-event:hover{background:var(--blue-light)}
.cal-event .cal-event-time{font-weight:700;color:var(--blue);margin-right:4px}
.cal-event .cal-event-agent{font-size:10px;color:var(--text-secondary);display:block;margin-top:1px}

/* Calendar responsive */
@media(max-width:768px) and (pointer:coarse){
  .cal-grid{grid-template-columns:1fr;gap:0}
  .cal-day-header{display:none}
  .cal-day{min-height:auto;padding:10px 12px;border-bottom:1px solid var(--border);flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}
  .cal-day-num{font-size:13px;margin-bottom:0;min-width:80px}
  .cal-event{flex:1;min-width:0}
  .view-toggle{width:100%}
  .view-toggle button{flex:1;text-align:center}
}

/* Agenda widget (dashboard) */
.dash-agenda-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.dash-agenda-item:last-child{border-bottom:none}
.dash-agenda-time{font-size:13px;font-weight:700;color:var(--blue);min-width:50px}
.dash-agenda-text{font-size:13px;font-weight:600;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-agenda-agent{font-size:12px;color:var(--text-secondary);font-weight:500}

/* ============================================
   SMARTPHONE APP — Desktop-consistent design
   Same squared, enterprise style as desktop
   Responsive for all phone sizes
   ============================================ */
@media(max-width:480px) and (pointer:coarse){

  /* ── Base: same bg and style as desktop ── */
  body{
    background:var(--bg)!important;
    padding-bottom:env(safe-area-inset-bottom,0);
    -webkit-user-select:none;user-select:none;
  }
  body::after{display:none!important}

  /* ── Hide sidebar, show bottom nav ── */
  .sidebar{transform:translateX(-100%)!important}
  .bottom-nav{display:flex!important}

  /* ── Main content ── */
  .main-content{
    display:block!important;
    margin-left:0!important;
    padding:calc(env(safe-area-inset-top,8px) + 8px) 12px 90px!important;
    min-height:100vh;min-height:100dvh;
  }

  /* ── Page header: sticky top bar ── */
  .page-header{
    position:sticky;top:0;z-index:30;
    background:var(--bg);
    margin:calc(-1 * (env(safe-area-inset-top,8px) + 8px)) -12px 14px!important;
    padding:calc(env(safe-area-inset-top,8px) + 14px) 16px 12px 16px!important;
    width:calc(100% + 24px)!important;
    border-bottom:1px solid var(--border)!important;
    gap:8px!important;
    flex-wrap:nowrap!important;
  }
  .page-title{
    font-size:20px!important;
    font-weight:700!important;
    letter-spacing:-0.4px!important;
  }

  /* ── Cards: desktop-consistent squared style ── */
  .crm-card,
  .record-card,
  .group-block,
  .import-card,
  .crm-filters,
  .dash-hero-card,
  .dash-esito-card,
  .dash-agent-card,
  .stat-card,
  .table-wrap,
  .crm-table-wrap{
    background:var(--card)!important;
    border:1px solid var(--border)!important;
    border-radius:var(--radius-lg)!important;
    box-shadow:var(--shadow-xs)!important;
  }

  /* ── Dashboard ── */
  .dash-greeting{margin-bottom:18px!important;padding:0!important}
  .dash-greeting-avatar{display:none!important}
  .dash-greeting-text{font-size:14px!important;font-weight:500!important;color:var(--text-secondary)!important}
  .dash-greeting-sub{font-size:12px!important;color:var(--text-tertiary)!important}

  .dash-hero-grid{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-bottom:18px!important;
  }
  .dash-hero-card{
    padding:14px 16px!important;
  }
  .dash-hero-card::before{display:none!important}
  .dash-hero-label{font-size:11px!important;margin-bottom:6px!important}
  .dash-hero-value{font-size:22px!important}

  .dash-section-title{
    font-size:11px!important;
    font-weight:600!important;
    letter-spacing:.5px!important;
    margin-bottom:10px!important;
    margin-top:0!important;
    padding-top:20px!important;
    border-top:1px solid var(--border)!important;
  }
  .dash-section-title:first-child{border-top:none!important;padding-top:0!important}

  /* ── Page content spacing ── */
  #dash-content{padding-bottom:8px!important}
  #table-wrapper{margin-top:4px!important}
  #records-container>.record-card:first-child{margin-top:0!important}

  .dash-esiti-grid{grid-template-columns:repeat(3,1fr)!important;gap:6px!important}
  .dash-esiti-5{grid-template-columns:repeat(3,1fr)!important}
  .dash-esiti-4{grid-template-columns:repeat(2,1fr)!important}
  .dash-esito-card{padding:12px!important;text-align:center!important}
  .dash-esito-label{font-size:10px!important;margin-bottom:4px!important}
  .dash-esito-value{font-size:18px!important}

  .dash-agenda-item{padding:10px 0!important;gap:10px!important}
  .dash-agenda-time{font-size:13px!important;min-width:48px}
  .dash-agenda-text{font-size:13px!important}
  .dash-agenda-agent{font-size:11px!important}

  /* ── Todo ── */
  .todo-check{width:18px!important;height:18px!important;border-radius:3px!important}
  .todo-check svg{width:12px!important;height:12px!important}

  .dash-agent-card{
    padding:10px 12px!important;gap:8px!important;
    flex-direction:column!important;align-items:flex-start!important;
  }

  /* ── Stats: 2-col ── */
  .stats-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .stat-card{padding:14px 16px!important}
  .stat-card::before{display:none!important}
  .stat-card .value{font-size:22px!important}

  /* ── Filters ── */
  .crm-filters{padding:12px 14px!important;margin-bottom:16px!important}
  .crm-filters.collapsed{padding:0 14px!important;margin-bottom:0!important}
  .crm-filters-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}

  /* ── CRM Cards ── */
  .crm-card{margin-bottom:12px!important;overflow:hidden!important}
  .crm-header{padding:12px 16px!important;gap:10px!important}
  .crm-avatar{width:26px!important;height:26px!important;font-size:10px!important;border-radius:2px!important}
  .crm-header-name{font-size:13px!important}
  .crm-header-phone{font-size:13px!important}
  .crm-header-right{
    order:0!important;width:auto!important;flex-direction:row!important;
    border-bottom:none!important;margin-bottom:0!important;padding-bottom:0!important;
  }
  .crm-header-actions{width:auto!important;flex-wrap:nowrap!important}
  .crm-header-actions .crm-btn{flex:0 0 auto!important;padding:7px 12px!important;font-size:12px!important}
  .crm-details{
    padding:10px 16px!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px 12px!important;
  }
  .crm-notes{padding:10px 16px!important}
  .crm-actions{
    padding:10px 16px!important;
    flex-direction:column!important;
    gap:6px!important;
  }
  .crm-actions .crm-btn{
    width:100%!important;justify-content:center!important;
    padding:10px 14px!important;font-size:13px!important;
  }

  /* ── Esito badges: same squared desktop style ── */
  .esito-badge{padding:3px 10px!important;font-size:11px!important;border-radius:3px!important}
  .crm-esito-lg{padding:3px 10px!important;font-size:12px!important;border-radius:3px!important}

  /* ── Record cards ── */
  .record-card{padding:14px 16px!important;margin-bottom:10px!important}
  .record-card-header{flex-direction:column!important;gap:8px!important}
  .record-card-name{font-size:14px!important}
  .record-card-actions{width:100%!important;justify-content:flex-start!important;gap:6px!important}

  /* ── Group blocks ── */
  .group-block{margin-bottom:12px!important;overflow:hidden!important}
  .group-head{padding:14px 16px 10px!important;flex-direction:column!important;gap:8px!important}
  .group-head-right{width:100%!important;justify-content:flex-start!important}
  #groups-container>.group-block:first-child{margin-top:4px!important}

  /* ── Tables: stacked rows ── */
  .table-wrap{overflow:hidden!important}
  .table-wrap table thead{display:none!important}
  .table-wrap table tbody tr{
    display:flex!important;flex-direction:column!important;
    padding:12px 16px!important;border-bottom:1px solid var(--border)!important;gap:4px!important;
  }
  .table-wrap table tbody td{display:block!important;padding:1px 0!important;border-bottom:none!important;font-size:13px!important}

  .crm-table-wrap{overflow-x:hidden!important}
  .crm-table{min-width:0!important}
  .crm-table thead{display:none!important}
  .crm-table tbody tr{
    display:flex!important;flex-direction:column!important;
    padding:12px 16px!important;gap:4px!important;border-bottom:1px solid var(--border)!important;
  }
  .crm-table tbody tr:last-child{border-bottom:none!important}
  .crm-table tbody td{
    display:block!important;padding:1px 0!important;border-bottom:none!important;
    font-size:13px!important;text-align:left!important;
  }
  .crm-table tbody td:first-child{padding-left:0!important}
  .crm-table tbody td:last-child{padding-right:0!important;text-align:left!important}
  .td-actions{justify-content:flex-start!important;margin-top:6px!important}

  .group-sub-table thead{display:none!important}
  .group-sub-table tbody tr{
    display:flex!important;flex-direction:column!important;
    padding:10px 16px!important;gap:4px!important;border-bottom:1px solid var(--border)!important;
  }
  .group-sub-table tbody td{display:block!important;padding:1px 0!important;border-bottom:none!important;font-size:13px!important}

  .prop-list{min-width:0!important;max-width:none!important}
  .prop-row{padding:6px 0!important}
  .prop-row-main{flex-direction:column!important;gap:4px!important}

  .sub-row-content{padding:8px 12px!important}

  /* ── Pagination ── */
  .pagination-glass{
    background:var(--card)!important;
    border:1px solid var(--border)!important;
    border-radius:var(--radius-lg)!important;
    box-shadow:var(--shadow-xs)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    margin-top:14px!important;
    padding-top:0!important;
  }
  .pagination{padding:12px 14px!important;flex-direction:column!important;gap:8px!important;align-items:center!important}
  .pagination .pages{gap:3px!important}
  .pagination button{width:30px!important;height:30px!important;font-size:12px!important;border-radius:var(--radius-sm)!important}

  /* ── Modal: bottom sheet ── */
  .modal-overlay{padding:0!important;align-items:flex-end!important}
  .modal-box{
    max-width:100%!important;max-height:94vh!important;
    border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;
  }
  .modal-header{padding:16px!important}
  .modal-header h2{font-size:16px!important}
  .modal-body{padding:14px 16px!important}
  .modal-footer{padding:12px 16px!important;gap:8px!important}
  .form-grid{grid-template-columns:1fr!important;gap:10px!important}

  /* ── Import ── */
  .import-card{margin-bottom:8px!important}
  .import-drop-zone{padding:24px 16px!important}
  .import-card-header{padding:14px 16px!important}

  /* ── Calendario: keep day nav pinned, only timeline scrolls ── */
  #calendario-view.cal-active{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;bottom:0!important;
    height:auto!important;
    padding:calc(env(safe-area-inset-top,8px) + 56px) 12px 70px!important;
    background:var(--bg)!important;
    z-index:20!important;
    display:flex!important;flex-direction:column!important;
    overflow:hidden!important;
  }

  /* ── View toggle & tabs ── */
  .view-toggle{width:100%}
  .view-toggle button{flex:1;text-align:center;padding:8px 12px!important;font-size:13px!important}
  #tabs-container{
    padding-bottom:14px!important;
    margin-bottom:14px!important;
    border-bottom:1px solid var(--border)!important;
  }

  /* ── Calendar ── */
  .cal-grid{border-radius:var(--radius-lg)!important}
  .cal-day{padding:10px 12px!important;gap:8px!important}
  .cal-event{font-size:12px!important}

  /* ── Banca dati ── */
  .bd-body{padding:10px 16px!important}
  .bd-row{flex-direction:column!important;gap:4px!important;align-items:flex-start!important}
  .bd-label{min-width:0!important}

  /* ── Bottom nav: enterprise style ── */
  .bottom-nav{
    display:flex!important;
    position:fixed!important;bottom:0!important;left:0!important;right:0!important;
    z-index:9990!important;
    background:var(--bottom-nav-bg)!important;
    backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
    border-top:1px solid var(--border)!important;
    padding:6px 0 env(safe-area-inset-bottom,6px)!important;
    -webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);
  }
  .bottom-nav a,.bottom-nav button{
    padding:6px 14px!important;font-size:11px!important;gap:2px!important;
    color:var(--text-tertiary)!important;
  }
  .bottom-nav a.active,.bottom-nav button.active{color:var(--blue)!important}
  .bottom-nav svg{width:20px!important;height:20px!important}

  .bottom-nav-more{
    position:fixed!important;
    bottom:calc(56px + env(safe-area-inset-bottom,6px))!important;
    left:8px!important;right:8px!important;
    z-index:9989!important;
    border-radius:var(--radius-lg)!important;padding:6px!important;
    background:var(--card)!important;border:1px solid var(--border)!important;
    box-shadow:var(--shadow-xl)!important;
    -webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);
  }
  .bottom-nav-more a{padding:10px 14px!important;font-size:13px!important}

  /* ── Pill select ── */
  .pill-select label{padding:6px 12px!important;font-size:13px!important}

  /* ── Icon buttons: same style, slightly bigger touch target ── */
  .crm-icon-btn{width:34px!important;height:34px!important}
  .act-btn{width:34px!important;height:34px!important}

  /* ── Toast ── */
  .toast-container{left:8px!important;right:8px!important;top:12px!important}
  .toast{max-width:none!important;border-radius:var(--radius-md)!important}

  /* ── Loading ── */
  .loading-overlay{border-radius:var(--radius-lg)!important}

  /* ── Filter toggle ── */
  .crm-filter-toggle,.filter-toggle{
    width:100%;justify-content:center;padding:9px 16px!important;
  }

  /* ── Scrollbar: hide ── */
  ::-webkit-scrollbar{display:none}
  *{scrollbar-width:none}

  /* ── Inputs: 16px to prevent iOS zoom ── */
  input[type="text"],input[type="number"],input[type="email"],
  input[type="password"],input[type="tel"],input[type="time"],
  input[type="date"],input[type="search"],textarea,select,
  .form-group input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .form-group textarea,.form-group select,
  .crm-filter-group input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .crm-filter-group select{
    padding:9px 14px!important;font-size:16px!important;
  }

  /* ── Buttons ── */
  .btn-primary,.btn-save{padding:10px 18px!important;font-size:13px!important}
  .btn-cancel{padding:10px 18px!important;font-size:13px!important}
  .btn-danger,.btn-green{padding:10px 18px!important;font-size:13px!important}

  /* ── Empty state ── */
  .empty-state{padding:40px 16px!important;font-size:14px!important}

  /* ── Badges ── */
  .badge-incompleto{margin-left:0!important;margin-top:4px!important;display:inline-flex!important}

  /* ── Prop rows ── */
  .crm-prop-row{padding:10px 16px!important;gap:8px!important;flex-wrap:wrap!important}
  .crm-prop-info{flex:1 1 calc(100% - 40px)!important;min-width:0!important}
  .crm-prop-delete{flex:0 0 100%!important;justify-content:center!important;padding:8px 14px!important}
  .crm-prop-edit-wrap{flex:0 0 100%!important;width:100%!important}

  /* ── Login ── */
  .login-card{padding:32px 24px!important}

  /* ============================================
     MOBILE CHIAMATE CARDS — Desktop-consistent
     ============================================ */
  .mob-card{
    background:var(--card);
    border-radius:var(--radius-lg);
    margin-bottom:12px;
    box-shadow:var(--shadow-xs);
    overflow:hidden;
    border:1px solid var(--border);
    /* border-left set inline per colore esito */
  }
  .mob-card-head{
    padding:14px 16px 10px;
  }
  .mob-card-esito{
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:8px;
  }
  .mob-card-addr{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    font-weight:600;
    color:var(--text);
    letter-spacing:-0.1px;
    line-height:1.3;
  }
  .mob-card-addr svg{
    width:16px;height:16px;
    stroke:var(--text-tertiary);fill:none;
    stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
    flex-shrink:0;
  }
  .mob-card-catasto{
    font-size:11px;
    color:var(--text-tertiary);
    font-family:'SF Mono',Monaco,Consolas,monospace;
    margin-top:3px;
    padding-left:22px;
    letter-spacing:.2px;
  }

  /* ── Proprietari dentro la card ── */
  .mob-card-props{padding:0 16px}
  .mob-prop{padding:10px 0}
  .mob-prop-border{border-top:1px solid var(--border)}
  .mob-prop-top{display:flex;align-items:center;gap:10px}
  .mob-prop-avatar{
    width:28px;height:28px;border-radius:2px;
    background:rgba(37,99,235,0.06);color:#2563eb;
    display:flex;align-items:center;justify-content:center;
    font-size:10px;font-weight:600;flex-shrink:0;
    text-transform:uppercase;letter-spacing:0;
  }
  .mob-prop-info{flex:1;min-width:0}
  .mob-prop-name{
    font-size:14px;font-weight:600;color:var(--text);
    letter-spacing:-0.1px;line-height:1.3;
  }
  .mob-prop-cf{
    font-size:11px;color:var(--text-tertiary);
    font-family:'SF Mono',Monaco,Consolas,monospace;
    margin-top:1px;letter-spacing:.2px;
  }

  /* ── Telefono: tappabile ── */
  .mob-prop-phone{
    display:flex;align-items:center;gap:6px;
    margin-top:8px;padding:8px 12px;
    border-radius:var(--radius-sm);
    font-size:13px;font-weight:600;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
    transition:background .15s;
  }
  .mob-prop-phone svg{
    width:14px;height:14px;stroke:currentColor;fill:none;
    stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;
  }
  .mob-tel-valid{background:#f0fdf4;color:#059669;border:1px solid #bbf7d0}
  .mob-tel-valid:active{background:#dcfce7}
  .mob-tel-invalid{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
  .mob-tel-invalid:active{background:#fee2e2}
  .mob-tel-missing{
    background:#fef2f2;color:#dc2626;border:1px solid #fecaca;
    font-weight:500;font-size:11px;pointer-events:none;
  }

  /* ── Meta ── */
  .mob-card-meta{
    padding:8px 16px;border-top:1px solid var(--border);
    display:flex;flex-direction:column;gap:2px;
  }
  .mob-meta-date{
    font-size:11px;color:var(--text-tertiary);
    font-family:'SF Mono',Monaco,Consolas,monospace;letter-spacing:.2px;
  }
  .mob-meta-note{font-size:12px;color:var(--text-secondary);line-height:1.4}

  /* ── Azioni ── */
  .mob-card-actions{display:flex;gap:0;border-top:1px solid var(--border);background:var(--card-alt)}
  .mob-act-btn{
    flex:1;display:flex;align-items:center;justify-content:center;gap:5px;
    padding:11px 6px;border:none;background:none;
    font-size:12px;font-weight:600;color:var(--blue);
    cursor:pointer;-webkit-tap-highlight-color:transparent;
    font-family:inherit;transition:background .15s;
  }
  .mob-act-btn:not(:last-child){border-right:1px solid var(--border)}
  .mob-act-btn:active{background:var(--blue-light)}
  .mob-act-btn svg{
    width:14px;height:14px;stroke:currentColor;fill:none;
    stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
  }
  .mob-act-danger{color:var(--red)}
  .mob-act-danger:active{background:rgba(220,38,38,0.04)}
}

/* ── Extra-small phones (≤360px) ── */
@media(max-width:360px) and (pointer:coarse){
  .main-content{padding-left:8px!important;padding-right:8px!important}
  .page-header{margin:0 -8px 10px!important;padding:12px 12px 10px!important}
  .page-title{font-size:18px!important}
  .dash-hero-grid{grid-template-columns:1fr!important}
  .dash-esiti-grid{grid-template-columns:repeat(2,1fr)!important}
  .crm-filters-grid{grid-template-columns:1fr!important}
  .mob-card-head{padding:12px 12px 8px}
  .mob-card-props{padding:0 12px}
  .mob-card-meta{padding:8px 12px}
  .mob-card-actions{flex-wrap:wrap}
  .mob-act-btn{flex:1 1 auto;min-width:0;font-size:11px!important;padding:10px 4px!important}
  .mob-prop-phone{padding:7px 10px!important;font-size:12px!important}
  .mob-prop-name{font-size:13px!important}
  .mob-prop-avatar{width:24px!important;height:24px!important;font-size:9px!important}
  .crm-header{padding:10px 12px!important}
  .crm-details{padding:8px 12px!important}
  .crm-actions{padding:8px 12px!important}
  .crm-notes{padding:8px 12px!important}
}
