*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #1a3a5c;--blue-light: #2d5f8a;--gold: #c8a84e;--gold-light: #e8d48e;--bg: #f5f6fa;--card: #fff;--text: #1a1a2e;--text-light: #6c757d;--border: #dee2e6;--success: #198754;--warning: #fd7e14;--danger: #dc3545;--radius: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue-light);text-decoration:none}a:hover{text-decoration:underline}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--blue);color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-logo{padding:20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.15)}.logo-icon{background:var(--gold);color:var(--blue);font-weight:800;font-size:18px;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center}.logo-icon.large{width:56px;height:56px;font-size:24px;border-radius:12px}.logo-text{font-size:20px;font-weight:700}.sidebar nav{flex:1;padding:12px 0}.sidebar nav a{display:block;padding:10px 20px;color:#fffc;transition:.15s}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff1f;color:#fff;text-decoration:none}.sidebar-user{padding:16px 20px;border-top:1px solid rgba(255,255,255,.15);font-size:13px;display:flex;flex-direction:column;gap:8px}.btn-logout{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px}.btn-logout:hover{background:#ffffff1a}.main-content{margin-left:220px;flex:1;min-height:100vh}.top-bar{background:var(--card);border-bottom:1px solid var(--border);padding:12px 24px;position:sticky;top:0;z-index:50}.page-content{padding:24px}.btn-primary{background:var(--blue);color:#fff;border:none;padding:8px 20px;border-radius:var(--radius);cursor:pointer;font-size:14px;font-weight:500}.btn-primary:hover{background:var(--blue-light)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border);padding:8px 16px;border-radius:var(--radius);cursor:pointer;font-size:14px}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:var(--danger);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius);cursor:pointer;font-size:14px}.search-bar{position:relative;width:400px}.search-bar input{width:100%;padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.search-results{position:absolute;top:100%;left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);list-style:none;max-height:300px;overflow-y:auto;box-shadow:0 4px 12px #0000001a;z-index:200}.search-results li{padding:10px 14px;cursor:pointer;display:flex;justify-content:space-between;border-bottom:1px solid var(--bg)}.search-results li:hover{background:var(--bg)}.search-name{font-weight:500}.search-meta{color:var(--text-light);font-size:13px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-light) 100%)}.login-card{background:var(--card);padding:48px 40px;border-radius:16px;width:400px;box-shadow:0 8px 32px #0003}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{font-size:20px;color:var(--blue);margin-top:12px}.login-card label{display:block;margin:16px 0 4px;font-size:13px;font-weight:600;color:var(--text-light)}.login-card input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.login-card .btn-primary{width:100%;margin-top:24px;padding:12px;font-size:16px}.badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.pipeline-nuovo{background:#e9ecef;color:#495057}.pipeline-contattato{background:#cfe2ff;color:#084298}.pipeline-demo_fissata{background:#e0cffc;color:#3d0a91}.pipeline-da_ricontattare{background:#ffe5d0;color:#984c0c}.pipeline-proposta_inviata{background:#cff4fc;color:#055160}.pipeline-contratto_chiuso{background:#d1e7dd;color:#0f5132}.pipeline-non_interessato{background:#f8d7da;color:#842029}.interaction-chiamata_in,.interaction-chiamata_out{background:#cfe2ff;color:#084298}.interaction-email{background:#e0cffc;color:#3d0a91}.interaction-form_web{background:#ffe5d0;color:#984c0c}.interaction-nota{background:#e9ecef;color:#495057}.esito-interessato{background:#d1e7dd;color:#0f5132}.esito-richiamare{background:#ffe5d0;color:#984c0c}.esito-non_interessato{background:#f8d7da;color:#842029}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--card);border-radius:var(--radius);padding:24px;border-left:4px solid var(--blue)}.stat-card.highlight{border-left-color:var(--gold)}.stat-card.warning{border-left-color:var(--warning)}.stat-card.success{border-left-color:var(--success)}.stat-number{font-size:36px;font-weight:700;color:var(--blue)}.stat-label{font-size:13px;color:var(--text-light);margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.dashboard-section{background:var(--card);border-radius:var(--radius);padding:24px}.dashboard-section h2{font-size:16px;margin-bottom:16px;color:var(--blue)}.bar-chart{display:flex;flex-direction:column;gap:8px}.bar-row{display:flex;align-items:center;gap:8px}.bar-label{width:120px;font-size:13px;text-align:right}.bar-track{flex:1;height:24px;background:var(--bg);border-radius:4px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;min-width:2px;transition:width .3s}.bar-fill.pipeline-nuovo{background:#6c757d}.bar-fill.pipeline-contattato{background:#0d6efd}.bar-fill.pipeline-demo_fissata{background:#6610f2}.bar-fill.pipeline-da_ricontattare{background:#fd7e14}.bar-fill.pipeline-proposta_inviata{background:#0dcaf0}.bar-fill.pipeline-contratto_chiuso{background:#198754}.bar-fill.pipeline-non_interessato{background:#dc3545}.bar-value{width:50px;font-size:14px;font-weight:600}.stats-table{width:100%;border-collapse:collapse;font-size:14px}.stats-table th{text-align:left;padding:6px 8px;border-bottom:2px solid var(--border);color:var(--text-light);font-weight:600}.stats-table td{padding:6px 8px;border-bottom:1px solid var(--bg)}.kanban-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:16px}.kanban-column{min-width:200px;width:200px;background:var(--bg);border-radius:var(--radius);flex-shrink:0}.kanban-header{padding:12px;font-weight:600;font-size:13px;display:flex;justify-content:space-between;border-top:3px solid;border-radius:var(--radius) var(--radius) 0 0;background:var(--card)}.kanban-count{background:var(--bg);border-radius:10px;padding:0 8px;font-size:12px}.kanban-cards{padding:8px;display:flex;flex-direction:column;gap:8px;min-height:100px}.kanban-card{background:var(--card);border-radius:6px;padding:10px;box-shadow:0 1px 3px #00000014;cursor:grab}.kanban-card:active{cursor:grabbing}.kanban-card-title{font-weight:500;font-size:13px;color:var(--blue);display:block}.kanban-card-meta{font-size:11px;color:var(--text-light);margin-top:4px;display:flex;gap:8px}.kanban-card-date{font-size:11px;color:var(--warning);margin-top:4px}.contacts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filters-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filters-bar input,.filters-bar select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px}.contacts-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden}.contacts-table th{text-align:left;padding:10px 12px;background:var(--bg);font-size:13px;font-weight:600;color:var(--text-light);border-bottom:2px solid var(--border)}.contacts-table td{padding:10px 12px;border-bottom:1px solid var(--bg);font-size:14px}.contacts-table tr.clickable{cursor:pointer}.contacts-table tr.clickable:hover{background:#f8f9ff}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.contact-name{font-weight:500;color:var(--blue)}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}.pagination button{padding:6px 14px;border:1px solid var(--border);background:var(--card);border-radius:var(--radius);cursor:pointer}.pagination button:disabled{opacity:.5;cursor:not-allowed}.back-link{display:inline-block;margin-bottom:8px;font-size:13px;color:var(--text-light)}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:12px}.detail-header h1{font-size:24px;margin:4px 0 8px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:24px}.detail-section{background:var(--card);border-radius:var(--radius);padding:20px}.detail-section.full-width{grid-column:1 / -1}.detail-section h2{font-size:15px;color:var(--blue);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--bg)}.detail-section dl{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:14px}.detail-section dt{color:var(--text-light);font-weight:500}.edit-fields{display:flex;flex-direction:column;gap:8px}.edit-fields label{font-size:12px;color:var(--text-light);margin-bottom:-4px}.edit-fields input,.edit-fields select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px;font-family:inherit;resize:vertical}.notes-text{white-space:pre-wrap;font-size:14px}.servizi-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px}.checkbox-label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:4px 0}.servizi-list{list-style:disc;padding-left:20px;font-size:14px}.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{border-left:3px solid var(--border);padding-left:16px;padding-bottom:4px}.timeline-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timeline-date{font-size:12px;color:var(--text-light)}.timeline-author{font-size:12px;color:var(--text-light);font-style:italic}.timeline-note{font-size:14px;margin-top:6px;white-space:pre-wrap}.timeline-ricontatto{font-size:13px;color:var(--warning);margin-top:4px}.documents-list{display:flex;flex-direction:column;gap:8px}.document-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--bg)}.doc-meta{font-size:12px;color:var(--text-light)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--card);border-radius:12px;padding:32px;width:480px;max-width:90vw;max-height:90vh;overflow-y:auto}.modal h2{margin-bottom:20px}.modal label{display:block;margin:12px 0 4px;font-size:13px;font-weight:600;color:var(--text-light)}.modal input,.modal select,.modal textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.modal-actions{display:flex;gap:8px;margin-top:20px;justify-content:flex-end}.new-contact-form{max-width:700px;background:var(--card);padding:32px;border-radius:var(--radius)}.new-contact-form h2{margin-top:24px;font-size:16px;color:var(--blue)}.form-row{margin-bottom:12px}.form-row label{display:block;margin-bottom:4px;font-size:13px;font-weight:600;color:var(--text-light)}.form-row input,.form-row select{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.autocomplete-wrapper{position:relative}.autocomplete-list{position:absolute;top:100%;left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);list-style:none;max-height:200px;overflow-y:auto;z-index:200;box-shadow:0 4px 12px #0000001a}.autocomplete-list li{padding:8px 12px;cursor:pointer;font-size:14px;border-bottom:1px solid var(--bg)}.autocomplete-list li:hover{background:var(--bg)}.import-page{max-width:600px}.import-form{display:flex;gap:12px;align-items:center;margin:24px 0}.import-result{background:var(--card);padding:24px;border-radius:var(--radius);margin-top:16px}.loading{text-align:center;padding:48px;color:var(--text-light);font-size:16px}.error-msg{background:#f8d7da;color:#842029;padding:10px 14px;border-radius:var(--radius);margin:12px 0;font-size:14px}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}
