:root{--bg:#f4f6fb;--card:#fff;--text:#1c2333;--muted:#6b7489;--line:#e4e8f0;--primary:#2f6fed;--primary-soft:#e8f0ff;--pos:#12935a;--neg:#d23c3c;--warn:#b7791f;--warn-soft:#fff6e0;--side:#141b2d;--radius:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,-apple-system-subheadline,Segoe UI,Roboto,sans-serif;font-size:15px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);min-height:100vh;padding-top:env(safe-area-inset-top,0px);margin:0}a{color:var(--primary)}h1{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:17px;font-weight:700}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 8px;font-size:13px;font-weight:700}.layout{min-height:100vh;display:flex}.sidebar{background:var(--side);color:#fff;flex-direction:column;flex-shrink:0;width:230px;height:100vh;padding:24px 14px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;padding:0 10px 24px;font-size:20px;font-weight:800}.sidebar nav{flex-direction:column;flex:1;gap:4px;display:flex}.sidebar nav a{color:#c5cbe0;border-radius:9px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s}.sidebar nav a:hover{color:#fff;background:#1f2840}.sidebar nav a.active{background:var(--primary);color:#fff}main{flex:1;min-width:0;max-width:1500px;padding:28px 32px 60px}.mobile-header,.mobile-tab-bar,.mobile-quick-summary{display:none}@media (width<=800px){.layout{display:block}.sidebar{display:none!important}.mobile-header{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line);z-index:80;background:#ffffffeb;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex;position:sticky;top:0}.mobile-brand{letter-spacing:-.02em;color:var(--text);font-size:17px;font-weight:800}.mobile-header-sub{color:var(--muted);font-size:12px;font-weight:600}main{padding:14px 12px calc(90px + env(safe-area-inset-bottom,12px)) 12px;width:100%}.mobile-tab-bar{z-index:100;-webkit-backdrop-filter:blur(20px);padding-top:6px;padding-bottom:max(10px, env(safe-area-inset-bottom,10px));background:#fffffff0;border-top:1px solid #e2e8f0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0000000a}.mobile-tab-bar a{color:#64748b;text-align:center;border-radius:9px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:4px 6px;font-size:11px;font-weight:600;text-decoration:none;transition:transform .1s,color .1s;display:flex}.mobile-tab-bar a .tab-icon{font-size:20px;line-height:1.1}.mobile-tab-bar a.active{color:var(--primary);font-weight:700}.mobile-tab-bar a.active .tab-icon{transform:scale(1.08)}.mobile-tab-bar a:active{opacity:.8;transform:scale(.92)}.mobile-quick-summary{bottom:calc(58px + max(10px, env(safe-area-inset-bottom,10px)));z-index:95;-webkit-backdrop-filter:blur(16px);color:#fff;background:#141b2df0;border-radius:14px;justify-content:space-between;align-items:center;padding:10px 14px;animation:.2s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:fixed;left:12px;right:12px;box-shadow:0 8px 24px #00000038}.mq-info{flex-direction:column;gap:1px;display:flex}.mq-sub{color:#cbd5e1;text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:600}.mq-netto{color:#4ade80;font-size:16px;font-weight:800}.mq-netto.neg{color:#f87171}.mq-btn{color:#fff;font:inherit;cursor:pointer;background:#ffffff29;border:0;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700}.mq-btn:active{background:#ffffff47}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:18px 20px;box-shadow:0 1px 3px #141e3c0a}@media (width<=600px){.card{border-radius:12px;margin-bottom:12px;padding:14px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 12px;display:flex}.section-head h2{margin:0}.row{align-items:center;display:flex}.row.gap{gap:10px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.mb{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}.pos{color:var(--pos)}.neg{color:var(--neg)}.r{text-align:right}.btn{border:1px solid var(--line);color:var(--text);min-height:40px;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .12s;display:inline-flex}.btn:hover{background:#f8f9fc;border-color:#c9d1e3}.btn:active{transform:scale(.97)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:#245ad0}.btn.ghost{background:0 0;border-color:#0000}.btn.small{border-radius:8px;min-height:34px;padding:6px 12px;font-size:13px}.btn.danger-outline{color:var(--neg);border-color:#fca5a5}.btn.danger-outline:hover{background:#fef2f2}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.icon{border:1px solid var(--line);cursor:pointer;min-width:36px;min-height:36px;font:inherit;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:6px 10px;font-size:13px;transition:all .1s;display:inline-flex}.icon:hover{background:#f3f5fa}.icon:active{transform:scale(.93)}.icon:disabled{opacity:.35;cursor:default;transform:none}.icon.danger:hover{color:var(--neg);background:#fdeaea}input,select{color:inherit;appearance:none;background:#fff;border:1.5px solid #d5dbe7;border-radius:9px;min-width:0;padding:9px 12px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2f6fed26}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b7489' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}input[type=search]{border-radius:999px;width:320px;max-width:100%;padding-left:14px}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:700}.field.grow{flex:1}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-row>.field{min-width:140px}@media (width<=600px){.form-row>.field{flex:1;min-width:100%}}.ro{background:#f1f5f9;border-radius:9px;align-items:center;min-height:42px;padding:9px 12px;font-size:15px;font-weight:700;display:flex}.check{cursor:pointer;align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.check input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary)}.notice{background:var(--primary-soft);border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:14px}.notice.warn{background:var(--warn-soft);color:#7a5413}.notice.small{margin:8px 0;padding:9px 12px}.empty{text-align:center;color:var(--muted);padding:36px 16px;font-size:15px}.pill{cursor:pointer;white-space:nowrap;border:0;border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.pill.ok{color:var(--pos);background:#e3f6ec}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.studio{color:#6d28d9;background:#ede9fe;border:1px solid #ddd6fe}.pill.giro{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.badge{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:inline-flex}.table-wrap{-webkit-overflow-scrolling:touch;padding:0;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfd;padding:12px 14px;font-size:12px}.table th.r{text-align:right}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px;font-size:14px}.table tr:last-child td{border-bottom:0}.table tr.click{cursor:pointer}.table tr.click:hover td{background:#f7f9fe}.table tr.click:active td{background:#edf2f7}.table tfoot td{border-top:2px solid var(--line);background:#f3f6fc;border-bottom:0;font-weight:700}.table-title{margin:0 0 8px;padding:16px 18px 4px}.kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}@media (width<=480px){.kpis{grid-template-columns:repeat(2,1fr)}.kpi.accent{grid-column:span 2}}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.kpi span{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:700}.kpi strong{letter-spacing:-.02em;font-size:20px;font-weight:800}.kpi.accent{background:var(--primary);color:#fff;border-color:var(--primary)}.kpi.accent span{color:#dbe6ff}.giro-grid{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:18px;display:grid}.giro-side{position:sticky;top:16px}@media (width<=1050px){.giro-grid{grid-template-columns:1fr}.giro-side{position:static}}.entry-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.entry-title{align-items:center;gap:10px;font-size:16px;display:flex}.entry-actions{gap:6px;display:flex}.counters{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}@media (width<=900px){.counters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.counters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media (width<=360px){.counters{grid-template-columns:1fr}}.counter{border:1.5px solid var(--line);background:#f8fafc;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;transition:all .15s;display:flex}.counter:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft);background:#fff}.counter.dim{opacity:.55}.c-label{color:#475569;text-align:center;font-size:12px;font-weight:700;line-height:1.2}.c-price{color:var(--muted);font-size:12px;font-weight:600}.stepper{align-items:center;gap:4px;display:flex}.stepper button{border:1.5px solid var(--line);cursor:pointer;width:36px;height:38px;color:var(--primary);background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:20px;font-weight:800;transition:all .1s;display:flex}.stepper button:hover{background:var(--primary-soft);border-color:var(--primary)}.stepper button:active{transform:scale(.92)}.stepper input{text-align:center;border-radius:8px;width:44px;height:38px;padding:4px 2px;font-size:16px;font-weight:800}.entry-foot{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:14px;padding-top:14px;display:flex}.pay{flex-wrap:wrap;gap:10px;display:flex}.pay-field{flex-direction:column;gap:4px;display:flex}.pay-field span{color:var(--muted);font-size:12px;font-weight:700}.pay-field input{width:115px}@media (width<=480px){.pay{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;display:grid}.pay-field input,.pay-field.cash output{width:100%!important}}.pay-field.cash output{width:115px;min-height:42px;color:var(--pos);background:#e3f6ec;border-radius:9px;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:flex}.entry-total{align-items:baseline;gap:8px;display:flex}.entry-total strong{letter-spacing:-.02em;font-size:22px;font-weight:800}.route-box{border:1px solid var(--line);background:#f8fafc;border-radius:12px;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px 14px;display:flex}.legs{margin:0;padding-left:20px;font-size:13px}.legs li{padding:4px 0;display:list-item}.legs li span:last-child{float:right;color:var(--muted);font-weight:600}.cost-line{border:1px solid var(--line);background:#fafbfd;border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 14px;font-size:14px;display:flex}.cost-total{color:var(--neg);background:#fef2f2;border:1px solid #fee2e2;border-radius:12px;justify-content:space-between;align-items:center;margin-top:16px;padding:14px 16px;font-weight:700;display:flex}.cost-total strong{font-size:22px}.summary h2{margin-bottom:14px}.sum-line{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.sum-line.big strong{font-size:20px;font-weight:800}.pay-split{grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0;display:grid}.pay-split div{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex-direction:column;gap:2px;padding:8px;font-size:12px;display:flex}.pay-split strong{font-size:14px}.netto{background:var(--pos);color:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin:14px 0 16px;padding:14px 16px;font-weight:700;display:flex;box-shadow:0 4px 14px #12935a40}.netto strong{letter-spacing:-.02em;font-size:24px;font-weight:800}.netto.negative{background:var(--neg);box-shadow:0 4px 14px #d23c3c40}.studio-services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:16px;display:grid}@media (width<=600px){.studio-services-grid{grid-template-columns:1fr}}.studio-service-card{border:1.5px solid var(--line);border-radius:var(--radius);background:#fafbfd;flex-direction:column;gap:10px;padding:14px 16px;transition:all .15s;display:flex}.studio-service-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000008}.studio-service-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.studio-service-title{color:var(--text);font-size:15px;font-weight:700}.studio-service-rates{color:var(--muted);flex-direction:column;gap:2px;font-size:13px;display:flex}.studio-service-rates strong{color:var(--text)}.studio-service-stepper{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;display:flex}.studio-service-total{color:var(--primary);font-size:17px;font-weight:800}.pagopa-breakdown{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin:10px 0;padding:12px 16px;font-size:13px}.pagopa-breakdown ul{margin:6px 0 0;padding-left:18px}.pagopa-breakdown li{padding:3px 0}.tab-group{-webkit-overflow-scrolling:touch;background:#e2e8f0;border-radius:10px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.tab-group button{font:inherit;color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .12s}.tab-group button.active{color:var(--text);background:#fff;box-shadow:0 1px 3px #0000001a}dialog{-webkit-overflow-scrolling:touch;border:0;border-radius:18px;width:min(720px,94vw);max-height:90vh;padding:0;overflow-y:auto;box-shadow:0 20px 60px #00000040}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f14238c}.dlg{padding:22px 24px}@media (width<=600px){.dlg{padding:18px 16px}}.price-grid{grid-template-columns:repeat(3,1fr);gap:0 14px;display:grid}@media (width<=600px){.price-grid{grid-template-columns:repeat(2,1fr);gap:0 10px}}@media (width<=380px){.price-grid{grid-template-columns:1fr}}.dlg-status{min-height:20px;color:var(--muted);margin:6px 0}.dlg-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}#toast{bottom:calc(75px + env(safe-area-inset-bottom,14px));color:#fff;opacity:0;pointer-events:none;z-index:1000;background:#1c2333;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .25s;position:fixed;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 8px 24px #0003}#toast.show{opacity:1;transform:translate(-50%)}#toast.warn{background:var(--warn)}#toast.err{background:var(--neg)}.iphone-connect-card{border-radius:var(--radius);background:linear-gradient(135deg,#eff6ff 0%,#e0e7ff 100%);border:1.5px solid #bfdbfe;margin-top:10px;padding:18px}.iphone-connect-card h3{color:#1e40af;text-transform:none;letter-spacing:0;margin:0 0 6px;font-size:15px}.iphone-url-box{background:#fff;border:1px solid #93c5fd;border-radius:10px;align-items:center;gap:10px;margin:10px 0;padding:10px 14px;display:flex}.iphone-url-box code{color:var(--primary);word-break:break-all;flex:1;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;font-weight:700}.cloud-sync-badge{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f1f5f9;border:1px solid #00000014;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.cloud-sync-badge:hover{filter:brightness(.96)}.sync-dot{background:currentColor;border-radius:50%;width:7px;height:7px;display:inline-block}.cloud-sync-badge.synced{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.cloud-sync-badge.syncing{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.cloud-sync-badge.syncing .sync-dot{animation:.8s ease-in-out infinite alternate pulse-sync}@keyframes pulse-sync{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.cloud-sync-badge.offline{color:#c2410c;background:#fff7ed;border-color:#fed7aa}
