/* Margini Macchine Pop Color V2 – visual refresh only, no economic logic touched */
:root{color:#372d50;background:#fff8f0;--ink:#352749;--dark:#41275e;--accent:#894cec;--line:#f0e7ed;--muted:#796e88;--green:#11967d;--red:#ee5d70;--r:22px}
html{scroll-padding-top:92px}
body{background:radial-gradient(circle at 90% 5%,#ffe2ef 0,transparent 27%),radial-gradient(circle at 3% 20%,#e9e0ff 0,transparent 28%),#fff8f0;color:#352749}
.topbar{background:linear-gradient(102deg,#6537d1 0%,#9151e7 58%,#d75ba8 100%);height:88px;box-shadow:0 9px 28px #744ab027;padding-inline:clamp(16px,2vw,32px);border-bottom:2px solid #ffffff3d}
.brand-icon{width:51px;height:51px;border:2px solid #ffffff73;background:#fff;border-radius:16px;box-shadow:0 4px 12px #31125d40}
.brand strong{font-weight:900;letter-spacing:.075em;font-size:14px}
.brand small{font-size:11px;color:#fff3f8}
.save-state{color:#fff5c9;background:#ffffff20;border-radius:40px;padding:8px 11px;margin-right:1px;font-weight:650}
.btn{border-radius:14px;font-weight:800;box-shadow:0 3px 0 #24113b0c;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px #57246b1a;filter:saturate(1.08)}
.btn:active{transform:translateY(0)}
.btn.primary{background:linear-gradient(125deg,#8c4deb,#a74ded);color:#fff;border-color:#8e54e6;box-shadow:0 5px 14px #9551d22b}
.btn.primary:hover{background:linear-gradient(125deg,#763bd7,#bf4bd2)}
.btn.outline{background:#fff;border:2px solid #e9d9fb;color:#7440b0}
.btn.outline:hover{background:#fcf7ff}
.btn.ghost{background:#ffffff2b;border:1px solid #ffffff67;color:#fff}
.btn.install-action{background:#fff0a5;color:#654090;border:1px solid #fff9c9}
.btn.install-action[hidden]{display:none}
.layout{grid-template-columns:252px minmax(0,1fr)}
.sidebar{background:#ffffffd9;border-right:1px solid #f0e3f5;padding:32px 17px}
.side-heading{color:#9c70c4;font-weight:900}
.side-link{border-radius:13px;color:#695577;font-weight:750}
.side-link span{font-size:18px;line-height:1;min-width:24px;color:inherit}
.side-link.active,.side-link:hover{background:linear-gradient(110deg,#f3e7ff,#ffe7f4);color:#7742bd;box-shadow:inset 4px 0 #9953ed}
.side-note{background:#f5eafa;color:#695778;border:1px solid #eddef5;border-radius:17px}
.side-note strong{color:#7743af}
.side-note.dim{background:#fff7e9;border-color:#fff0ce}
.content{padding-top:36px}
.page-heading{position:relative;align-items:center;border-radius:28px;background:linear-gradient(125deg,#fbf2ff 0%,#fffdfc 50%,#fff0da 100%);border:1px solid #f4e1f1;padding:28px 30px 26px;margin-bottom:23px;box-shadow:0 8px 20px #985a9b0b;overflow:hidden}
.page-heading:after{content:'€';display:grid;place-items:center;position:absolute;right:14%;top:-61px;width:178px;height:178px;border-radius:50%;font-size:112px;font-weight:900;color:#9147d6;opacity:.065;pointer-events:none}
.page-heading h1{max-width:770px;color:#3b2954;font-size:clamp(28px,2.7vw,42px);line-height:1.13;letter-spacing:-.05em;font-weight:900;margin:11px 0}
.gradient-text{background:linear-gradient(105deg,#894ae4,#e359ac,#fc8b49);background-clip:text;-webkit-background-clip:text;color:transparent}
.page-heading p{font-size:13px;line-height:1.65;color:#72617e;max-width:680px}
.page-heading .btn{position:relative;z-index:1}
.hero-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.hero-tags span{display:inline-flex;align-items:center;background:#fff;border:1px solid #eadff0;border-radius:30px;padding:7px 10px;font-size:10px;color:#8551a7;font-weight:850}
.eyebrow{color:#994fdd;font-size:10px;font-weight:900;letter-spacing:.1em}
.kpis{gap:15px;margin-bottom:22px}
.kpi{position:relative;border:1px solid #f3e4ee;border-radius:22px;min-height:151px;padding:21px 21px 17px;background:#fff;box-shadow:0 8px 22px #a666a016;overflow:hidden;isolation:isolate}
.kpi:after{position:absolute;content:'';right:-16px;bottom:-34px;width:106px;height:106px;border-radius:34px;transform:rotate(25deg);background:#ffffff75;z-index:-1}
.kpi span,.kpi small{color:#685978;font-size:11px;font-weight:750;line-height:1.5}
.kpi strong{color:#38294e;font-weight:900;letter-spacing:-.06em;font-size:clamp(22px,2vw,33px)}
.kpi.sales{background:linear-gradient(135deg,#e0f8f3,#c9efed);border-color:#d2ede7}
.kpi.costs{background:linear-gradient(135deg,#ffeaca,#ffdbad);border-color:#ffdbb1}
.kpi.accent{background:linear-gradient(125deg,#8042ed,#d45ab7);border-color:transparent;box-shadow:0 11px 30px #b466d755}
.kpi.accent span,.kpi.accent small,.kpi.accent strong{color:#fff}
.kpi.accent strong{text-shadow:0 2px 12px #482b7749}
.kpi.margin{background:linear-gradient(135deg,#e8e0ff,#e9d5f9);border-color:#e4d5fb}
.kpi.negative strong{color:#b62848!important}
.panel{border-radius:23px;border:1px solid #f1e5f1;box-shadow:0 8px 20px #ac84a314;padding:28px;margin-bottom:19px;background:#fffffffa;scroll-margin-top:108px}
.section-heading{margin-bottom:23px}
.section-heading h2{font-weight:900;letter-spacing:-.025em;color:#402b59;font-size:clamp(19px,1.7vw,24px)}
.section-heading p{color:#84788b;max-width:780px}
.count{background:#efe1ff;color:#8037d1;font-weight:900;padding:1px 7px;min-width:25px;height:25px}
.tiny-label{color:#987ab5;background:#f8eeff;border-radius:10px;padding:8px 10px}
.form-grid label,.modal-grid label{color:#594b69;font-size:12px;font-weight:800;gap:9px}
.form-grid input,.modal-grid input,.modal-grid select,.modal-grid textarea{background:#fcfaff;border:2px solid #eae0f2;border-radius:13px;padding:12px 13px;font-size:14px;color:#3f3453;min-height:44px}
.form-grid input:focus,.modal-grid input:focus,.modal-grid select:focus,.modal-grid textarea:focus{border-color:#aa6de9;box-shadow:0 0 0 4px #dbbbff6b}
.machine-card{background:linear-gradient(135deg,#faf4ff 0,#fff8fb 100%);border:1px solid #edd8f4;border-radius:19px;padding:19px;box-shadow:0 5px 15px #8158a00d}
.machine-card:before{content:'🚜';display:inline-flex;background:#fff0cb;padding:9px;border-radius:11px;font-size:19px;margin:0 0 10px}
.machine-name{font-size:16px;color:#543071;font-weight:900}
.machine-type{color:#956cae;font-weight:800}
.machine-metrics span{color:#816e91}
.machine-metrics strong{color:#44335a}
.card-meta{border-top:1px solid #eddbf5;color:#806a96}
.edit-btn{height:37px;min-width:37px;border:2px solid #d9b9f2;border-radius:12px;color:#8a45df;background:#fff;font-size:20px;box-shadow:0 3px 6px #6c2e8911}
.edit-btn:hover{background:#f1e3ff;transform:translateY(-1px)}
.empty{background:#fff8fd;border:2px dashed #e0b8ef;border-radius:16px;padding:26px;color:#987fa4}
.empty strong{color:#7c56a1}
.legend{gap:8px;margin-bottom:20px}
.legend span{background:#faf3ff;border:1px solid #f2e7fb;border-radius:30px;padding:8px 11px;color:#715683;font-weight:700}
.dot.red{background:#fa6072}.dot.green{background:#21aa8e}.dot.slate{background:#9d80bf}
.table-scroll{border:1px solid #f0e6f4;border-radius:15px}
.editor-table th,.summary-table th{background:#f7edff;color:#8355a4;font-weight:900;padding:14px 12px}
.editor-table td,.summary-table td{border-color:#f2e9f2;color:#54455f;padding:14px 12px}
.editor-table tr:hover td,.summary-table tr:not(.group):hover td{background:#fffbfe}
.editor-table .subtle,.summary-table .subtle{color:#a18cae}
.pill{font-size:10px;padding:7px 10px}
.pill.deduct{color:#b24857;background:#ffe4e8}.pill.add{color:#088b70;background:#dff8ef}.pill.other{color:#7850ad;background:#ede4fd}
.summary-table tr.group td{background:#f7eafd;color:#7653a8}
.totals-grid{gap:17px}
.totals-detail{background:#f6edfe;border:1px solid #ebd8fa;border-radius:18px;padding:20px}
.totals-detail.client{background:#e6f9f4;border-color:#c6ede2}
.totals-detail>div:not(.client-title):not(.mini-note){color:#685577}
.totals-detail strong{color:#47315d}
.totals-detail .profit-row{border-top:1px solid #e4cff2;color:#67448d!important}
.totals-detail .profit-row strong{color:#8944d7}
.totals-detail .profit-row strong.loss{color:#cf3559}
.client-title{color:#11987a}
.warning{background:#fff0cf;border:1px solid #ffe0a4;color:#8d5c20;border-radius:13px}
.fineprint{color:#94839a}
footer{color:#977da0}
.editor-dialog{border:2px solid #e9d9f2;border-radius:24px;padding:26px;box-shadow:0 24px 70px #38205a66}
.editor-dialog::backdrop{background:#241331b3;backdrop-filter:blur(3px)}
.modal-header h2{color:#4b2f66}
.modal-grid .explainer{background:#faf0ff;color:#715287;border-radius:13px}
.icon-btn{background:#f1e7f9;color:#8c4bba;border-radius:12px}
.saved-item b{color:#623b83}
.toast{background:#6837b3;border-radius:14px;box-shadow:0 8px 22px #48227655}
@media(max-width:1300px){.layout{grid-template-columns:220px minmax(0,1fr)}.page-heading{padding:22px}.kpi{padding:15px}.kpi strong{font-size:24px}}
@media(max-width:980px){.layout{display:block}.topbar{height:auto;min-height:76px}.sidebar{position:sticky;top:0;z-index:3;padding:9px 12px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;min-height:0;gap:8px;box-shadow:0 3px 9px #68409918}.side-link{flex:0 0 auto;padding:10px 13px;background:#fff9ff;border:1px solid #f1e4f6}.side-link span{font-size:16px}.content{padding:22px}.kpi strong{font-size:clamp(24px,3vw,35px)}}
@media(max-width:620px){.topbar{padding:12px;gap:10px}.brand{width:100%}.brand-icon{height:44px;width:44px;border-radius:13px}.brand strong{font-size:12px}.brand small{font-size:10px}.header-actions{gap:6px;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.header-actions .save-state{display:none}.header-actions .btn{white-space:normal;font-size:10px;padding:11px 5px;line-height:1.2;min-height:43px}.header-actions .btn.install-action{grid-column:span 3}.sidebar{top:0;padding:7px}.side-link{font-size:10px}.side-link span{display:inline}.content{padding:14px 11px}.page-heading{padding:22px 17px;border-radius:22px;margin-bottom:16px}.page-heading:after{right:-40px;top:-24px}.page-heading h1{font-size:29px;max-width:100%}.page-heading p{font-size:12px}.page-heading .btn{margin-top:16px}.hero-tags{gap:5px}.hero-tags span{font-size:9px;padding:6px 8px}.kpis{gap:10px}.kpi{padding:15px 12px;min-height:128px;border-radius:18px}.kpi span{font-size:10px;min-height:35px}.kpi strong{font-size:clamp(18px,5vw,25px);margin:9px 0 7px;white-space:normal;overflow-wrap:anywhere}.kpi small{font-size:9px}.panel{padding:20px 14px;border-radius:19px}.section-heading h2{font-size:20px}.section-heading .btn{width:100%}.form-grid{grid-template-columns:1fr;gap:14px}.machine-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.machine-metrics strong{font-size:13px;white-space:normal;overflow-wrap:anywhere}.legend{gap:6px}.legend span{font-size:10px;padding:7px}.totals-grid,.entity-list,.modal-grid{grid-template-columns:1fr}.totals-detail{padding:15px 13px}.totals-detail strong{font-size:13px;white-space:normal;text-align:right}.editor-dialog{padding:20px 14px}.saved-item{display:block}.flex-actions .btn{font-size:11px}}
@media(max-width:350px){.kpis{grid-template-columns:1fr}.kpi{min-height:95px}.header-actions .btn{font-size:9px}}
@media print{body{background:white!important;color:black!important}.page-heading,.kpis,.sidebar,.topbar{display:none!important}.panel{box-shadow:none!important;border:0!important}.summary-panel .section-heading h2{color:black}.totals-detail{color:black!important;background:#f7f7f7!important;border-color:#ddd!important}.totals-detail.client{background:#f7f7f7!important}.content{padding:0!important}.table-scroll{border:0!important}}

/* POP COLOR V2.1 — dashboard fedele alla direzione scelta, evidente già su mobile */
.version-tag{display:inline-block;margin-left:9px;border-radius:999px;background:#ffd36b;color:#522a6a;padding:5px 10px;font-weight:950;letter-spacing:.02em;vertical-align:middle;box-shadow:0 2px 8px #7d43bd33}
.kpi.accent{background:linear-gradient(125deg,#7432e8,#b950df 65%,#ee67a7)!important}
.kpi.accent:before{content:'✦';display:grid;place-items:center;position:absolute;right:14px;top:9px;color:#fff9a9;font-size:40px;opacity:.34;transform:rotate(14deg)}
.kpi.sales{background:linear-gradient(135deg,#d7f8ee,#baf0e5)}
.kpi.costs{background:linear-gradient(135deg,#fff1cd,#ffdeb0)}
.kpi.margin{background:linear-gradient(135deg,#ebddff,#e2d1fb)}
#addMachine{background:linear-gradient(112deg,#ff9056,#ffb348);border-color:#ffa14b;color:#3a2546;box-shadow:0 6px 12px #ff984433}
#addMachine:hover{background:linear-gradient(112deg,#ff844d,#ffbf68)}
#addLine{background:linear-gradient(112deg,#14b8a7,#6ad9b2);border-color:#39cbb5;color:#13374b;box-shadow:0 6px 12px #4ad7b333}
#addLine:hover{background:linear-gradient(112deg,#09ab9d,#53d8b5)}
.kpi.accent strong{font-size:clamp(30px,2.55vw,42px)}
@media (max-width:980px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi.accent{grid-column:span 2;min-height:162px;display:flex;flex-direction:column;justify-content:center}.kpi.accent strong{font-size:clamp(33px,6vw,44px)}.kpi.margin{grid-column:span 2;min-height:95px}.version-tag{margin-top:5px}}
@media (max-width:620px){.page-heading .eyebrow{line-height:2.4}.page-heading h1{font-size:32px;line-height:1.12}.kpi.accent{min-height:158px;padding:22px;border-radius:21px}.kpi.accent span{min-height:0;font-size:12px}.kpi.accent strong{font-size:clamp(32px,8vw,45px)!important;white-space:nowrap;overflow-wrap:normal;letter-spacing:-.045em}.kpi.accent small{font-size:11px}.kpi.sales,.kpi.costs{min-height:125px}.kpi.margin{min-height:98px;padding:17px;display:flex;flex-direction:column;justify-content:center}.kpi.margin span{min-height:0}.kpi.margin strong{font-size:27px;margin:7px 0}.machine-card{border-left:5px solid #ac6af0}}
@media (max-width:350px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi.sales,.kpi.costs{min-height:135px}.kpi.accent strong{font-size:30px!important}}
@media print{.version-tag{display:none!important}}
