:root{--purple:#694465;--purple-dark:#4e304b;--purple-light:#e9ddeb;--ink:#223247;--muted:#526378;--line:#bcc8d6;--bg:#eaf0f6;--white:#fff;--sidebar:244px;--green:#34876b;--red:#ba5365;--amber:#bf9243}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b795bb;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-.8px;line-height:1.25;font-weight:650}h2{font-size:18px;letter-spacing:-.3px;font-weight:650}h3{font-size:16px}.muted{color:var(--muted)}.small{font-size:12px}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}.sidebar{width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:12px;padding:25px 20px 24px;font-size:20px;font-weight:650;letter-spacing:-.4px}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:1px}.brand-mark{width:37px;height:37px;display:grid;place-items:center;background:var(--purple);border-radius:10px;color:white;font-size:23px;font-weight:650;flex-shrink:0}.sidebar nav{padding:0 12px 15px;overflow:auto;scrollbar-width:thin}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:7px;font-size:13px;margin-bottom:2px;white-space:nowrap}.nav-item.active{color:var(--purple-dark);background:var(--purple-light);font-weight:600}.nav-item.active::after{content:'';margin-left:auto;width:6px;height:6px;background:var(--purple);border-radius:50%}.nav-item.disabled{color:#85909b;cursor:default}.nav-item.disabled .icon{opacity:.65;width:17px;height:17px}.nav-group{margin-top:18px}.nav-label{display:flex;justify-content:space-between;padding:0 12px 6px;font-size:10px;letter-spacing:1px;font-weight:700;color:#6c7580}.nav-label span{letter-spacing:0;font-weight:400;color:#98a1aa}.sidebar-bottom{display:flex;gap:8px;align-items:center;margin-top:auto;padding:15px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.online-dot{width:6px;height:6px;background:#429d7c;border-radius:50%}.version{margin-left:auto}.workspace{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column}.topbar{height:73px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);background:#fff;padding:0 32px;position:sticky;top:0;z-index:20}.breadcrumb{font-size:12px;color:var(--muted);white-space:nowrap}.breadcrumb span{margin:0 10px;color:#bbc2c9}.breadcrumb strong{color:var(--ink);font-weight:500}.top-search{position:relative;display:flex;align-items:center;gap:10px;background:#f6f7f9;border:1px solid #edf0f3;border-radius:7px;padding:7px 12px;max-width:360px;flex:1;margin-left:auto}.top-search .icon{width:17px;color:#8a95a0}.top-search input{border:0;background:transparent;padding:0;min-width:0;width:100%;font-size:12px}.icon-button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#73808b;width:34px;height:34px;border-radius:6px}.icon-button:hover{background:var(--purple-light)}.notification-button{position:relative;color:#73808b;display:block;padding:4px}.badge{position:absolute;right:-5px;top:-6px;min-width:16px;text-align:center;font-size:9px;background:var(--purple);color:white;border:2px solid white;border-radius:10px;padding:0 3px}.account-link{display:flex;gap:10px;align-items:center;white-space:nowrap}.avatar{display:grid;place-items:center;background:#ede5eb;color:var(--purple);width:33px;height:33px;border-radius:50%;font-size:13px;font-weight:650}.account-name{font-size:12px;font-weight:600}.account-name small{display:block;font-size:10px;font-weight:400;color:var(--muted)}.content{padding:32px;max-width:1660px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.page-heading .muted{margin-top:9px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.6px;color:var(--muted);margin-bottom:8px}.eyebrow-dot{margin:0 9px}.segmented{background:white;border:1px solid var(--line);border-radius:7px;display:flex;padding:3px;font-size:12px;flex-shrink:0}.segmented a{padding:7px 12px;border-radius:5px}.segmented .selected{background:var(--purple-light);color:var(--purple);font-weight:600}.demo-banner{display:flex;align-items:center;gap:12px;padding:11px 14px;background:#f0f3f6;border:1px solid #e3e8ee;border-radius:7px;font-size:12px;color:#71808e;margin-bottom:24px}.demo-tag{padding:2px 6px;border:1px solid #c6d0dc;color:#677a8e;font-size:9px;border-radius:4px;font-weight:700;letter-spacing:1px}.phase-tag{font-size:10px;color:var(--muted);border:1px solid var(--line);background:#fafbfc;border-radius:5px;padding:5px 9px;white-space:nowrap}.demo-banner .phase-tag{margin-left:auto;background:transparent}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric-card{background:white;border:1px solid var(--line);border-radius:9px;padding:20px;transition:border-color .15s,transform .15s}.metric-card:hover{border-color:#bba8bd;transform:translateY(-2px)}.metric-label{display:flex;align-items:center;justify-content:space-between;color:#697683;font-size:12px;gap:10px}.metric-label .icon{color:#9d87a0;width:19px}.metric-card>strong{display:block;font-size:30px;letter-spacing:-.8px;font-weight:650;margin:13px 0}.metric-card>span{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}.metric-card>span .icon{width:15px;height:15px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);border-radius:9px;padding:24px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.panel-heading .eyebrow{margin-bottom:5px}.panel-heading>.icon{color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-size:12px;font-weight:500;white-space:nowrap}.text-link .icon{width:15px}.agenda-row{display:flex;align-items:center;gap:14px;padding:17px 0;border-top:1px solid #f0f2f4}.agenda-row:first-of-type{border:0}.agenda-time{font-size:13px;color:#5c6d7c;font-variant-numeric:tabular-nums;width:42px;flex-shrink:0}.agenda-line{width:3px;height:36px;background:#baa4c0;border-radius:3px;flex-shrink:0}.agenda-detail{flex:1;min-width:0}.agenda-detail strong{font-size:12px;display:block;font-weight:600}.agenda-detail>span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.status{display:inline-block;border:1px solid color-mix(in srgb,var(--status) 25%,white);color:var(--status);background:color-mix(in srgb,var(--status) 7%,white);border-radius:5px;padding:3px 7px;white-space:nowrap;font-size:10px}.priority-row{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:12px}.priority-row>.icon{margin-left:auto;color:#a2abb4;width:15px}.priority-count{display:grid;place-items:center;min-width:31px;height:31px;border-radius:7px;font-weight:650;font-size:14px}.amber{color:#ad8435;background:#fbf5e7}.red{color:#ba5365;background:#fbebee}.purple{color:#87618d;background:#f4edf6}.blue{color:#487e9a;background:#ecf4f8}.priorities>p{margin-top:18px;line-height:1.7}.pipeline-row{display:flex;align-items:center;gap:15px;padding:12px 0;font-size:12px}.pipeline-label{width:126px;display:flex;align-items:center;gap:7px;flex-shrink:0}.pipeline-label i{width:7px;height:7px;border-radius:50%}.pipeline-label small{margin-left:auto;color:var(--muted)}.bar-track{height:8px;background:#f3f4f6;flex:1;border-radius:3px;overflow:hidden}.bar-track span{display:block;height:100%;border-radius:3px}.pipeline-row>strong{width:101px;text-align:right;font-weight:600;font-size:11px}.chart-note{margin-top:20px;line-height:1.7}.legend{display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted);white-space:nowrap}.legend i{width:7px;height:7px;border-radius:2px;background:#b39bb8}.legend .won{background:#438f76;margin-left:6px}.monthly-chart{height:230px;display:flex;gap:12px;align-items:stretch;padding-top:16px}.month{display:flex;flex-direction:column;flex:1;align-items:center;gap:9px;font-size:10px;color:var(--muted)}.month-amount{height:16px}.month-track{height:162px;width:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #eceff2}.month-bar{display:block;width:65%;background:#b39bb8;max-width:36px;border-radius:4px 4px 0 0;position:relative;min-height:0}.month-won{position:absolute;bottom:0;left:0;right:0;background:#438f76;border-radius:3px 3px 0 0}.footer{display:flex;justify-content:space-between;font-size:10px;color:#929da7;padding:20px 32px;border-top:1px solid var(--line)}.search-results{position:absolute;top:44px;left:0;right:0;max-height:420px;overflow:auto;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #24303c20;border-radius:7px;padding:10px}.search-group{display:block;color:var(--purple);font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:10px 7px 5px}.search-results a{display:block;padding:7px;border-radius:4px;font-size:12px}.search-results a:hover{background:var(--purple-light)}.search-results small{display:block;color:var(--muted)}.search-results p{padding:12px;font-size:12px}.filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:20px}.filters label{flex:1;min-width:130px;max-width:220px;margin:0}.list-panel{padding:0;overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}thead{background:#f8f9fb}th{text-align:left;font-size:10px;font-weight:600;color:#74808d;padding:13px 16px;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:15px 16px;border-bottom:1px solid #eef1f4;vertical-align:middle}td:first-child{font-weight:550;min-width:170px}tbody tr:hover{background:#fbfcfd}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.pagination{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}.pagination>div{display:flex;align-items:center;gap:12px}.button{border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:9px 15px;border-radius:6px;font-size:12px;font-weight:550;line-height:1.5}.primary{background:var(--purple);color:white;border-color:var(--purple)}.primary:hover{background:var(--purple-dark)}.subtle{background:#fff;color:#64717e}.full{width:100%}.empty-state{padding:35px 15px;text-align:center;color:var(--muted);font-size:12px}.empty-state .icon{width:30px;height:30px;margin-bottom:12px;color:#b0a0b7}.empty-state h3{color:#64717e;margin-bottom:5px}.notice{padding:13px 16px;border-radius:6px;font-size:12px;margin-bottom:20px}.error{color:#ab3f52;background:#fceef1;border:1px solid #f4d1d9}.success{color:#34765e;background:#eaf6ef;border:1px solid #c7e9d6}label{display:block;font-size:12px;font-weight:550;color:#576674;margin-bottom:18px}input,select{display:block;width:100%;padding:10px 12px;border:1px solid #dce2e8;border-radius:6px;margin-top:6px;background:white;color:var(--ink);font-size:13px}input:focus,select:focus{border-color:#ad92b1;outline:2px solid #ede5ef}.auth-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at 20% 10%,#eae0eb,transparent 50%),#f5f7f9}.auth-card{background:white;border:1px solid var(--line);box-shadow:0 16px 70px #483b5810;border-radius:14px;width:100%;max-width:410px;padding:38px}.auth-card>.brand-mark{margin-bottom:25px}.auth-card>.muted{margin-top:12px;margin-bottom:28px;font-size:13px;line-height:1.8}.auth-note{margin-top:28px;text-align:center}.installer{max-width:630px}.installer h2{margin:24px 0 18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.checkbox{display:flex;align-items:center;gap:10px;font-weight:400}.checkbox input{width:auto;margin:0}.installer .small{margin-bottom:20px}.narrow{max-width:560px}.narrow h2{margin-bottom:22px}.mobile-menu{display:none}[hidden]{display:none!important}@media(min-width:1600px){.content{padding:36px 48px}.topbar{padding:0 48px}.metric-card>strong{font-size:34px}}@media(max-width:1200px){:root{--sidebar:220px}.content{padding:24px}.topbar{padding:0 24px;gap:14px}.breadcrumb{display:none}.metric-grid{gap:12px}.metric-card{padding:16px}.metric-card>strong{font-size:25px}.dashboard-grid{gap:18px}.panel{padding:20px}.agenda-row>.status{display:none}.list-panel{padding:0}.legend{display:none}}@media(max-width:950px){.dashboard-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-name{display:none}.page-heading{align-items:flex-start}.segmented{font-size:10px}.pipeline-label{width:140px}.monthly-chart{max-width:650px;margin:auto}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:244px}.workspace{margin-left:0}.mobile-menu{display:flex}.menu-open .sidebar{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;background:#15202e70;z-index:35}.topbar{height:64px;padding:0 14px;gap:10px}.top-search{max-width:none;margin-left:0}.top-search input{font-size:11px}.account-link{display:none}.content{padding:22px 16px}.page-heading{flex-direction:column;gap:15px;margin-bottom:20px}h1{font-size:25px}.metric-card>strong{font-size:24px}.metric-label{font-size:11px}.metric-card>span{font-size:9px}.metric-label .icon{display:none}.demo-banner{font-size:10px}.demo-banner .phase-tag{display:none}.panel{padding:18px}.list-panel{padding:0}.panel-heading{gap:10px}h2{font-size:16px}.pipeline-label{width:102px;font-size:11px}.pipeline-row{gap:8px}.pipeline-row>strong{width:91px;font-size:10px}.agenda-row{gap:10px}.agenda-detail strong{font-size:11px}.agenda-detail>span{font-size:10px}.footer{padding:18px 16px}.pagination{flex-direction:column;align-items:flex-start}.filters{padding:16px;gap:10px}.filters label{min-width:120px;max-width:none}.auth-card{padding:28px}.auth-page{padding:18px}.form-grid{grid-template-columns:1fr}.notification-button{margin-right:4px}.search-results{min-width:250px;left:auto;right:0}.monthly-chart{gap:6px}}textarea{display:block;width:100%;padding:10px 12px;border:1px solid #dce2e8;border-radius:6px;margin-top:6px;background:white;color:var(--ink);font:inherit;resize:vertical}.form-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}.wide{grid-column:1/-1}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.danger{background:#fceef1;color:#aa3f52;border-color:#f4d1d9}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);overflow:auto;margin-bottom:18px}.tabs a{padding:12px 16px;white-space:nowrap;color:var(--muted);font-size:12px}.tabs .selected{border-bottom:2px solid var(--purple);color:var(--purple);font-weight:600}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0}.detail-grid dt{color:var(--muted);font-size:11px}.detail-grid dd{margin:5px 0 0;font-size:13px;overflow-wrap:anywhere}.detail-actions{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.timeline-event{padding:15px 0 15px 18px;border-left:2px solid #e6d8e9}.timeline-event small{color:var(--muted)}.timeline-event p{margin-top:5px}.quote-editor{margin:18px 0 28px}.quote-editor h2{margin-bottom:18px}.quote-editor td{padding:7px}.quote-editor input,.quote-editor select{margin:3px 0;font-size:11px;padding:7px;min-width:70px}.quote-editor textarea{font-size:12px;min-width:200px;min-height:60px}.quote-editor tbody tr{cursor:grab}.quote-editor .line-actions{min-width:95px}.quote-editor .line-actions button{padding:4px;margin:2px}.quote-editor .catalog-search{position:relative}.catalog-results{position:absolute;top:70px;left:0;right:0;z-index:25;background:white;box-shadow:0 12px 30px #24303c20;border:1px solid var(--line);max-height:280px;overflow:auto}.catalog-results button{display:block;text-align:left;border:0;width:100%;padding:12px;background:white}.catalog-results button:hover{background:var(--purple-light)}.quote-summary{display:flex;gap:20px;justify-content:flex-end;padding:20px 0;flex-wrap:wrap}.quote-summary strong{color:var(--purple);font-size:18px}.kanban{display:flex;gap:15px;overflow:auto;min-height:550px}.kanban-column{min-width:260px;max-width:260px;background:#edf0f4;border-radius:7px;padding:12px}.kanban-column h2{font-size:14px;margin-bottom:14px}.kanban-card{display:block;background:white;border:1px solid var(--line);border-radius:7px;padding:14px;margin-bottom:12px;cursor:grab}.kanban-card p{font-size:12px;margin:7px 0;color:var(--muted)}.kanban-card .actions{margin-top:10px}.kanban-card select{font-size:11px}.calendar-scroll{overflow:auto}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);min-width:840px}.calendar-grid.day{grid-template-columns:1fr;min-width:0}.calendar-cell{min-height:130px;padding:10px;background:white}.calendar-cell.outside{background:#f8f9fb}.calendar-cell.today{background:#f4edf6}.calendar-cell .day-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}.calendar-event{display:block;margin-bottom:5px;padding:6px;background:#ede5ef;border-left:3px solid var(--purple);font-size:11px;border-radius:3px;cursor:grab}.image-preview{max-width:250px;max-height:200px;object-fit:contain}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.report-grid .panel strong{font-size:22px;display:block;margin-top:12px}.settings-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.break-word{overflow-wrap:anywhere}@media(max-width:950px){.form-fields,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.form-fields,.detail-grid,.settings-columns{grid-template-columns:1fr}.calendar-grid{min-width:700px}.report-grid{grid-template-columns:1fr 1fr}.report-grid .panel strong{font-size:18px}.quote-summary{justify-content:flex-start}.actions .button{font-size:11px}}
.mail-body{white-space:normal;overflow-wrap:anywhere;padding:20px 0;line-height:1.65}
/* Catalogo e compilazione preventivi */
.product-thumbnail{width:48px;height:48px;object-fit:contain;display:block;border:1px solid var(--line);border-radius:6px;background:#fafbfc;flex-shrink:0}.missing-image-label{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px;max-width:100px}.product-photo-field{display:flex;align-items:center;gap:16px;margin:20px 0;padding:16px;background:#f8f9fb;border:1px solid var(--line);border-radius:7px}.product-photo-field .product-thumbnail{width:96px;height:96px}.product-photo-field label{min-width:0;flex:1}.product-photo-field small{display:block;color:var(--muted);margin-top:6px}.search-results a{display:flex;align-items:center;gap:10px}.search-item-text{min-width:0;overflow-wrap:anywhere}.search-item-text>span{display:block}.quote-conditions{border-top:1px solid var(--line);margin:20px 0;padding-top:14px}.quote-conditions summary{cursor:pointer;color:var(--purple);font-weight:600}.quote-conditions .form-fields{margin-top:16px}.quote-editor{margin-top:24px}.quote-editor-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px}.quote-totals-bar{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap;border:1px solid #ddd2de;background:#f8f4f8;padding:14px 18px;border-radius:7px;position:sticky;top:80px;z-index:12;margin-bottom:20px}.quote-totals-bar span{display:flex;gap:8px;font-size:12px}.quote-totals-bar strong{font-variant-numeric:tabular-nums;white-space:nowrap}.quote-totals-bar .grand-total{font-size:16px;color:var(--purple-dark)}.quote-totals-bar small{width:100%;text-align:right;color:var(--muted)}.quote-totals-bar small:empty{display:none}.catalog-search{position:relative;margin-bottom:22px}.catalog-search>label{display:block;margin-bottom:6px;font-weight:600}.catalog-search>input{width:100%;max-width:720px}.catalog-results{position:absolute;left:0;right:0;top:100%;max-height:340px;overflow-y:auto;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #24303c20;z-index:15;border-radius:6px}.catalog-results[hidden]{display:none}.catalog-results .catalog-product{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:white}.catalog-product:hover,.catalog-product.selected{background:var(--purple-light)}.catalog-product>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.catalog-product strong{font-size:12px;display:block}.catalog-product small{display:block;color:var(--muted);font-size:11px}.catalog-price{white-space:nowrap;font-size:12px}.catalog-results p{padding:15px}.quote-lines-table{min-width:950px;table-layout:fixed}.quote-lines-table th,.quote-lines-table td{padding:10px 7px;vertical-align:top}.quote-lines-table td:first-child{min-width:0}.quote-lines-table th:nth-child(1){width:18%}.quote-lines-table th:nth-child(2){width:28%}.quote-lines-table th:nth-child(3){width:9%}.quote-lines-table th:nth-child(4){width:11%}.quote-lines-table th:nth-child(5),.quote-lines-table th:nth-child(6){width:7%}.quote-lines-table th:nth-child(7){width:12%}.quote-lines-table th:nth-child(8){width:8%}.quote-lines-table input,.quote-lines-table select,.quote-lines-table textarea{font:inherit;width:100%;min-width:0;margin:0 0 5px;padding:8px 6px;border:1px solid #dce2e7;border-radius:4px}.quote-lines-table textarea{min-height:87px;resize:vertical}.quote-lines-table .line-type{display:flex;align-items:center;gap:5px;margin-bottom:7px}.line-type select{margin:0}.drag-handle{border:0;background:transparent;cursor:grab;padding:4px;color:var(--muted);font-size:18px}.line-number{font-size:10px;color:var(--muted)}.line-product-picture{display:flex;gap:6px;align-items:center}.line-product-picture input{margin:0}.quote-lines-table .line-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.line-actions .button{padding:4px;min-width:28px}.line-total{font-weight:600;white-space:nowrap}.quote-lines-table .text-line .description-cell{width:auto}.quote-lines-table .section-line{background:#f4f0f5}.section-line textarea{font-weight:600}.quote-lines-table .drop-target{outline:2px solid var(--purple);outline-offset:-2px}.quote-tools{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:18px 0 12px}.discount-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.discount-tools label{font-size:12px;margin:0}.discount-tools input{width:70px;min-width:0}.quote-editor [hidden]{display:none!important}button:disabled{cursor:default;opacity:.4}.quote-editor-message .button{margin-left:12px}
@media(max-width:1200px){.quote-lines-table{min-width:0;table-layout:auto}.quote-lines-table thead{display:none}.quote-lines-table tbody{display:block}.quote-lines-table tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:7px;margin:12px 0;padding:12px;gap:10px}.quote-lines-table td{border:0;padding:0;min-width:0}.quote-lines-table td:before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.quote-lines-table .product-cell{grid-column:span 1}.quote-lines-table .description-cell{grid-column:span 3}.quote-lines-table .line-actions{display:flex;justify-content:flex-end;align-items:flex-start;grid-column:span 3}.quote-lines-table .line-actions:before{display:none}.quote-lines-table .text-line .description-cell{grid-column:span 3}.quote-table-scroll{overflow:visible}}
@media(max-width:600px){.quote-lines-table tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.quote-lines-table .product-cell,.quote-lines-table .description-cell,.quote-lines-table .text-line .description-cell{grid-column:span 2}.quote-lines-table .line-actions{grid-column:span 1}.quote-lines-table .text-line .line-actions{grid-column:span 2}.quote-totals-bar{gap:8px;justify-content:space-between;top:67px;padding:10px}.quote-totals-bar span{font-size:11px;display:block}.quote-totals-bar strong{display:block}.quote-totals-bar .grand-total{font-size:13px}.catalog-product{flex-wrap:wrap}.catalog-product .catalog-price{margin-left:60px}.product-photo-field{align-items:flex-start;gap:10px;padding:10px}.product-photo-field .product-thumbnail{width:64px;height:64px}.product-photo-field input{width:100%;min-width:0}.quote-tools>.actions{flex-wrap:wrap}}
.product-detail-photo{display:flex;align-items:center;gap:15px;margin-bottom:20px}.product-detail-photo .product-thumbnail{width:96px;height:96px}

.quote-status-control{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:190px;max-width:260px}.quote-status-control select{flex:1;min-width:130px;width:auto;padding:7px}.quote-status-control .button{padding:7px 10px}.quote-status-feedback{flex-basis:100%;white-space:normal}.quote-status-feedback.error{color:#b42318}
.opportunity-stage-control button[hidden]{display:none!important}

.quote-entry-toolbar{position:sticky;top:73px;z-index:16;background:#fff;border-bottom:1px solid var(--line);padding:10px 0;margin-bottom:16px;box-shadow:0 8px 12px -12px #27344255}
.quote-entry-toolbar .quote-totals-bar{position:static;margin:0 0 10px;padding:10px 14px;gap:14px}
.quote-entry-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.quote-entry-controls .catalog-search{flex:1 1 300px;min-width:0;margin:0}
.quote-entry-controls .catalog-search>input{max-width:none}
.quote-entry-discount{flex:0 1 auto;max-width:310px}
.quote-entry-discount small{display:block;font-size:10px;margin-top:2px}
.quote-entry-toolbar .discount-tools{gap:6px}
.quote-entry-toolbar .discount-tools label{flex-basis:100%;font-weight:600}
.quote-entry-toolbar .discount-tools input{width:76px}
.quote-entry-toolbar .catalog-results{max-height:min(340px,40vh)}
@media(max-width:700px){.quote-entry-toolbar{top:64px}.quote-entry-controls{gap:8px}.quote-entry-controls .catalog-search{flex-basis:100%}.quote-entry-discount{flex:1;min-width:0}.quote-entry-discount small{display:none}.quote-entry-toolbar .quote-totals-bar{gap:8px;padding:8px}.quote-toolbar-save{font-size:12px;padding:9px}.quote-entry-toolbar .discount-tools label{font-size:11px}}

@media(max-width:700px){.quote-entry-toolbar .discount-tools input{width:60px}.quote-entry-toolbar .discount-tools button{font-size:11px;padding:8px;white-space:nowrap}}

.record-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.record-row-actions .text-link{white-space:nowrap}.record-row-actions .button{padding:7px 10px}

.tabs a .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:1px 6px;margin-left:6px;border-radius:10px;background:#edf0f3;color:#536170;font-size:11px;font-weight:600;line-height:1.5}.tabs a.selected .tab-count{background:var(--purple-light);color:var(--purple-dark)}

.calendar-filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:0 0 18px}.calendar-filters label{min-width:220px}.calendar-filters .small{padding-bottom:10px}.calendar-help{margin-bottom:12px}
.week-time-scroll{height:min(720px,75vh);min-height:400px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:white;position:relative;overscroll-behavior:contain}
.week-time-grid{display:grid;grid-template-columns:64px repeat(7,minmax(140px,1fr));min-width:1044px;position:relative}
.week-time-corner,.week-day-heading{position:sticky;top:0;z-index:7;background:#f6f7f9;border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:48px;padding:5px 10px;text-align:center;font-size:12px}
.week-day-heading span{display:block;font-size:11px;color:var(--muted)}.week-day-heading.today{background:var(--purple-light);color:var(--purple-dark)}.week-time-corner{left:0;z-index:9;padding-top:15px}
.week-time-axis{height:1920px;position:sticky;left:0;background:#fafbfc;z-index:5;border-right:1px solid var(--line)}.week-time-axis span{position:absolute;right:8px;height:20px;font-size:10px;color:#86909b}.week-time-axis span.hour{font-size:11px;font-weight:600;color:#4d5a67}
.week-time-column{height:1920px;position:relative;border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom,#dce1e6 0px,#dce1e6 1px,transparent 1px,transparent 80px),repeating-linear-gradient(to bottom,#f0f2f4 0px,#f0f2f4 1px,transparent 1px,transparent 20px)}.week-time-column.today{background-color:#fbf8fb}
.week-time-slot{position:absolute;left:0;right:0;height:20px;z-index:0}.week-time-slot:hover{background:#72516c15}.week-time-slot:focus-visible{outline-offset:-3px}
.week-time-event{position:absolute;z-index:2;border:1px solid var(--event-color);border-left:4px solid var(--event-color);border-radius:5px;background:#fff;box-shadow:0 1px 4px #24303c15;overflow:hidden;min-height:20px;touch-action:none;user-select:none}
.week-time-event[data-writable="1"]{cursor:grab}.week-time-event-link{display:block;padding:4px 5px 14px;height:100%;overflow:hidden;background:color-mix(in srgb,var(--event-color) 12%,white);font-size:11px;line-height:1.3;color:#273442}.week-time-event-link strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-time-event-link small{display:block;font-size:10px}.week-time-event.compact .event-duration,.week-time-event.compact .event-type{display:none}.week-time-event.compact .week-time-event-link{padding-top:1px;line-height:1.1}.week-time-event.compact .event-time{display:none}
.week-event-resize{position:absolute;bottom:0;left:0;width:100%;height:12px;padding:0;background:var(--event-color);color:white;border:0;font-size:12px;line-height:9px;cursor:ns-resize;touch-action:none}.week-event-resize:focus-visible{outline-offset:-2px}.week-time-event.gesture-active{z-index:6;opacity:.85;box-shadow:0 4px 12px #27344235}
@media(max-width:700px){.calendar-filters label{min-width:0;flex:1 1 100%}.week-time-scroll{height:68vh;min-height:380px}.calendar-help{font-size:11px}}

.calendar-event{--event-color:#72516c;border-left-color:var(--event-color);background:#f1eaf0;background:color-mix(in srgb,var(--event-color) 14%,white)}

/* Contrasto e leggibilità: superfici distinte, accenti e testi più grandi. */
body{font-size:15px}
.sidebar{background:#f5f7fb;border-right:2px solid #bdc9d9}
.nav-item{font-size:14px;padding-top:10px;padding-bottom:10px}
.nav-item:hover{background:#e2eaf4;color:#233e60}
.nav-item.active{background:#e4d2e7;color:#4e304b;box-shadow:inset 3px 0 var(--purple)}
.nav-label{font-size:11px;color:#334d6b;background:#e0e8f2;border-radius:4px;padding:5px 10px;margin-bottom:5px;letter-spacing:.8px}
.brand small,.sidebar-bottom{font-size:12px;color:var(--muted)}
.topbar{border-bottom:2px solid #bcc8d6;box-shadow:0 2px 6px #23365008}
.top-search{background:#edf2f8;border-color:#bdc9d9}.top-search input{font-size:13px}
.breadcrumb,.account-name{font-size:13px}.account-name small{font-size:11px}
.eyebrow{font-size:11px;color:#465a72}.small{font-size:13px}
.panel,.metric-card{box-shadow:0 3px 10px #2336500a;border-color:#b8c5d5}
.panel-heading{padding-bottom:14px;border-bottom:1px solid #c5cfdd;margin-bottom:20px}
.metric-card{border-top:4px solid var(--purple)}
.metric-opportunities{border-top-color:#29618c}.metric-quotes{border-top-color:#a76715}.metric-quotes_won{border-top-color:#237353}
.metric-label{font-size:14px;color:#33465d}.metric-label .icon{color:var(--purple)}.metric-card>span{font-size:12px;color:var(--muted)}
.dashboard-grid>.panel{border-top:4px solid var(--purple)}.dashboard-grid>.agenda{border-top-color:#29618c}.dashboard-grid>.priorities{border-top-color:#a76715}.dashboard-grid>.dashboard-months{border-top-color:#237353}
.text-link{font-size:13px;font-weight:600}.button{font-size:13px}.segmented{font-size:13px}.segmented .selected{background:var(--purple);color:#fff}
label{font-size:13px;color:#384e66}input,select,textarea{font-size:14px;border-color:#aebdd0}
.filters{background:#f2f5fa;border-bottom:1px solid var(--line)}
table{font-size:13px}thead{background:#dfe7f1}th{font-size:11px;color:#354b65;letter-spacing:.25px}td{border-bottom-color:#d6dfeb}tbody tr:nth-child(even){background:#f4f7fb}tbody tr:hover{background:#e6eef8}
.pagination{font-size:13px}.detail-grid dt{font-size:12px;color:#4a5d75}.detail-grid dd{font-size:14px}
.tabs{border-bottom:2px solid #bdc9d9}.tabs a{font-size:13px;color:#4b5e75}.tabs a.selected{background:var(--purple-light);border-radius:6px 6px 0 0;border-bottom:3px solid var(--purple);color:var(--purple-dark)}
.tabs a .tab-count{background:#dce5f0;color:#344b66;font-size:12px}
.agenda-time{font-size:14px;color:#385677}.agenda-detail strong{font-size:14px}.agenda-detail>span{font-size:12px;color:var(--muted)}
.priority-row{font-size:14px}.priority-count.amber{background:#ad701e;color:#fff}.priority-count.red{background:#ae4054;color:#fff}.priority-count.purple{background:var(--purple);color:#fff}.priority-count.blue{background:#29618c;color:#fff}
.empty-state,.empty-state p{font-size:13px;color:var(--muted)}
.status{font-size:11px;border-color:color-mix(in srgb,var(--status) 55%,white);background:color-mix(in srgb,var(--status) 20%,white);color:color-mix(in srgb,var(--status) 65%,#17283e)}
.calendar-filters{background:#f8faff;border:1px solid #b8c5d5;border-left:4px solid var(--purple);border-radius:7px;padding:14px}
.calendar-cell{border-bottom:1px solid #bcc8d6}.calendar-cell.outside{background:#edf2f7}.calendar-cell.today{background:#e7daf0}.calendar-cell .day-label{font-size:13px}
.calendar-event{font-size:12px;border-left-width:4px;background:color-mix(in srgb,var(--event-color) 30%,white);color:#203047}
.week-time-corner,.week-day-heading{background:#dfe7f1;font-size:13px;border-color:#afbed1}.week-day-heading span{font-size:12px}.week-day-heading.today{background:#ddc6e6}
.week-time-event-link{font-size:12px;background:color-mix(in srgb,var(--event-color) 28%,white);color:#203047}.week-time-event-link small{font-size:11px}
.quote-editor input,.quote-editor select{font-size:12px}.quote-editor textarea{font-size:13px}
@media(max-width:700px){.metric-label{font-size:13px}.metric-card>span{font-size:11px}.agenda-detail strong{font-size:13px}.agenda-detail>span{font-size:12px}.actions .button{font-size:12px}.top-search input{font-size:12px}}
.dashboard-layout-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px;font-size:12px}.dashboard-layout-toolbar p{flex:1}.dashboard-layout-toolbar .layout-error{color:#b42318}.dashboard-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}.dashboard-card{position:relative;min-width:0;margin:0}.dashboard-card-wide{grid-column:span 2;border-top:4px solid var(--purple)}.dashboard-card-wide.agenda{border-top-color:#29618c}.dashboard-card-wide.priorities{border-top-color:#a76715}.dashboard-card-wide.dashboard-months{border-top-color:#237353}.dashboard-card-metric .metric-card{display:flex;flex-direction:column;min-height:100%;padding-top:42px}.dashboard-drag-handle{position:absolute;right:10px;top:8px;z-index:1;display:grid;place-items:center;width:32px;height:30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);cursor:grab;touch-action:none;font-size:23px;line-height:1;user-select:none}.dashboard-drag-handle:hover{background:var(--purple-light);color:var(--purple)}.dashboard-card-wide>.panel-heading{padding-right:28px}.dashboard-dragging{outline:3px dashed var(--purple);outline-offset:3px;opacity:.65}.dashboard-dragging .dashboard-drag-handle{cursor:grabbing}.dashboard-automation{border-top:4px solid #a76715;display:flex;flex-direction:column;gap:10px}.dashboard-automation h2{overflow-wrap:anywhere;padding-right:10px}.dashboard-automation .status{align-self:flex-start}.dashboard-automation .automation-count{font-size:30px;color:var(--purple)}.dashboard-automation>.button{margin-top:auto;align-self:flex-start}.dashboard-automation>.eyebrow{padding-right:25px}@media(max-width:1100px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-card-wide{grid-column:span 2}}@media(max-width:600px){.dashboard-cards{grid-template-columns:minmax(0,1fr);gap:16px}.dashboard-card-wide{grid-column:span 1}.dashboard-drag-handle{width:36px;height:34px}.dashboard-layout-toolbar{align-items:flex-start}}
.dashboard-drop-target{outline:3px dashed var(--purple);outline-offset:3px}

.dashboard-automation-alerts{border-top-color:#a76715}.automation-alert-total{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:2px 8px;margin-left:6px;border-radius:14px;background:#f2e5cd;color:#80500f;font-size:14px;vertical-align:middle}.automation-alert-list{max-height:420px;overflow-y:auto;overscroll-behavior:contain}.automation-alert-row{display:flex;align-items:center;gap:14px;padding:15px 4px;border-bottom:1px solid var(--line);color:inherit}.automation-alert-row:hover{background:#f2f5fa}.automation-alert-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}.automation-alert-detail strong{font-size:14px}.automation-alert-detail span{font-size:13px}.automation-alert-detail small,.automation-alert-date small{font-size:12px;color:var(--muted)}.automation-alert-date{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.dashboard-automation-alerts>p{margin-top:16px}@media(max-width:600px){.automation-alert-row{flex-wrap:wrap;gap:8px}.automation-alert-detail{flex-basis:65%}.automation-alert-date{align-items:flex-start}.automation-alert-row>.icon{display:none}}


.jobbee-brand-icon{display:block;width:42px;height:42px;flex-shrink:0;object-fit:contain}.jobbee-wordmark{color:#071c3e;font-family:Arial,sans-serif;font-size:26px;letter-spacing:-1px;font-weight:700}.auth-card>.jobbee-brand-icon{width:70px;height:70px;margin-bottom:20px}.auth-card>.eyebrow{color:#071c3e;text-transform:none}

.jobbee-auth-logo{display:block;width:220px;max-width:100%;height:auto;margin-bottom:24px}

.activity-status-control button[hidden]{display:none!important}

.quote-status-control[data-auto-save="1"] button[hidden]{display:none!important}

.text-command-menu{position:fixed;z-index:1000;min-width:220px;max-width:calc(100vw - 16px);padding:6px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 8px 28px #071c3e26}.text-command-menu[hidden]{display:none}.text-command-menu button{display:block;width:100%;padding:12px 14px;border:0;border-radius:6px;text-align:left;background:#f2f5fa;color:#071c3e;font:inherit;cursor:pointer}.text-command-menu button:hover,.text-command-menu button:focus-visible{background:#e5edf5;outline:2px solid var(--purple)}
.text-date-dialog{width:390px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink,#071c3e);box-shadow:0 18px 60px #071c3e40}.text-date-dialog::backdrop{background:#071c3e66}.text-date-dialog h2{margin:0 0 8px;font-size:22px}.text-date-dialog>p{font-size:13px}.text-date-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 12px}.text-date-navigation strong{text-transform:capitalize}.text-date-weekdays,.text-date-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.text-date-weekdays span{padding:6px 0;text-align:center;font-size:12px;color:var(--muted)}.text-date-days button{height:38px;padding:0;border:1px solid transparent;border-radius:7px;background:#f2f5fa;color:#071c3e;font:inherit;cursor:pointer}.text-date-days button:hover{border-color:var(--purple)}.text-date-days button[aria-pressed=true]{background:var(--purple);color:white}.text-date-days button:focus-visible{outline:2px solid #ffbb21;outline-offset:2px}.text-date-dialog>label{display:flex;flex-direction:column;gap:6px;margin-top:18px}.text-date-dialog input[type=time]{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;font:inherit}.text-date-dialog .actions{justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.text-date-selection{color:var(--muted);margin:12px 0}.text-date-dialog [hidden]{display:none!important}
