/* LavoroFisco — Calcolatore compensi forensi 1.3.28 | CSS isolato dal tema */
.lfsf{--lf-a:#174ea6;--lf-b:#1f6feb;--lf-c:#245fc6;--lf-ink:#213a56;--lf-muted:#5c7086;--lf-line:#d9e5f1;width:100%;max-width:1280px;margin:14px auto 32px;color:var(--lf-ink);font:inherit;font-size:14px;line-height:1.55}
/* Su pagine desktop con una colonna editoriale stretta, espandi il calcolatore fino allo spazio della finestra. */
@media(min-width:900px){.lfsf{width:min(1280px,calc(100vw - 48px));max-width:none;position:relative;left:50%;transform:translateX(-50%);margin-left:0;margin-right:0}}
@media(max-width:899px){.lfsf{max-width:100%;min-width:0}}
.lfsf *,.lfsf *::before,.lfsf *::after{box-sizing:border-box}
.lfsf [hidden]{display:none!important}
.lfsf h2,.lfsf h3,.lfsf h4,.lfsf p{margin:0}
.lfsf button,.lfsf input,.lfsf select{font:inherit}
.lfsf-hero{position:relative;display:flex;align-items:center;overflow:hidden;min-height:178px;padding:28px 30px;border-radius:18px;background:linear-gradient(120deg,var(--lf-a),var(--lf-b) 59%,var(--lf-c));color:#fff;box-shadow:0 12px 26px #174ea61b}
.lfsf-hero::after{content:'';position:absolute;top:0;left:0;width:45%;height:100%;transform:translateX(-140%) skewX(-20deg);background:linear-gradient(90deg,transparent,#ffffff28,transparent);animation:lfsf-reflection 8s ease-in-out infinite;pointer-events:none}
@keyframes lfsf-reflection{0%,25%{transform:translateX(-140%) skewX(-20deg)}60%,100%{transform:translateX(290%) skewX(-20deg)}}
.lfsf-hero-copy{position:relative;z-index:1;width:calc(100% - 240px);max-width:940px;min-width:0}
.lfsf-eyebrow{display:block;color:#cce2ff;font-size:11px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.lfsf-hero h2{color:#fff!important;font-size:clamp(23px,3vw,32px)!important;line-height:1.18!important;font-weight:800!important;letter-spacing:-.35px;margin:7px 0 10px!important}
.lfsf-hero p{max-width:100%;color:#ebf5ff!important;font-size:14px!important;line-height:1.55!important}
.lfsf-hero-icon{position:absolute;right:15px;bottom:0;width:235px;max-width:30%;height:auto;pointer-events:none}
/* Solo il sorriso si muove con discrezione; figura e toga restano ferme. */
.lfsf-lawyer-smile{transform-box:fill-box;transform-origin:center;animation:lfsf-lawyer-smile 5.8s ease-in-out infinite}
@keyframes lfsf-lawyer-smile{0%,22%,70%,100%{transform:scaleY(1)}42%,53%{transform:scaleY(1.09)}}
.lfsf-card,.lfsf-result{background:#fff;border:1px solid var(--lf-line);border-radius:16px;box-shadow:0 6px 20px #174ea60b}
.lfsf-card{margin-top:16px;padding:22px 24px}
.lfsf-stephead{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}
.lfsf-stephead>span{display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:9px;background:#eaf3ff;color:var(--lf-a);font-weight:800}
.lfsf-stephead h3{color:#193e74!important;font-size:19px!important;font-weight:800!important;line-height:1.3!important}
.lfsf-stephead p{color:var(--lf-muted)!important;font-size:12.8px!important;margin-top:4px!important}
.lfsf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:end}

/* Procedimento: oggetto e valore occupano due colonne ordinate anziché due righe a tutta larghezza. */
.lfsf-procedure-grid{align-items:start}
.lfsf-procedure-grid>[data-wrap="caseType"],
.lfsf-procedure-grid>[data-wrap="value"]{grid-column:auto;align-self:start}
.lfsf-procedure-grid>[data-wrap="value"]{display:flex;flex-direction:column;gap:9px;min-width:0}
.lfsf-procedure-grid>[data-wrap="value"]>.lfsf-value-content{min-width:0}
@media(max-width:710px){.lfsf-procedure-grid{grid-template-columns:minmax(0,1fr)}}
.lfsf-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0!important}
.lfsf-field-label{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}.lfsf-field-label label{font-size:13px!important;font-weight:750!important;line-height:1.35!important;color:#28445f!important;margin:0!important}.lfsf-help{flex:0 0 23px;display:grid;place-items:center;width:23px;height:23px;min-height:23px;padding:0;border:1px solid #b5cfea;border-radius:50%;background:#edf5ff;color:#205a9c;font-size:12px;font-weight:800;cursor:pointer}.lfsf-help:hover{background:#d7eaff}
.lfsf-field input,.lfsf-field select{width:100%;min-width:0;min-height:46px;height:46px;padding:10px 12px;border:1px solid #cad8e7;border-radius:9px;background:#fbfdff;color:#213a56!important;outline:none;box-shadow:none;transition:border-color .15s,box-shadow .15s,background .15s;font-size:14px!important}
.lfsf-field input:hover,.lfsf-field select:hover{background:#fff}.lfsf-field input:focus,.lfsf-field select:focus{border-color:var(--lf-b);background:#fff;box-shadow:0 0 0 3px #1f6feb1c}
.lfsf-field [aria-invalid="true"]{border-color:#c23e4b;box-shadow:0 0 0 2px #c23e4b1c}
.lfsf-field input::placeholder{color:#7991a8;opacity:1}
.lfsf-field small,.lfsf-error-general{color:#a52f3b;font-size:12px;line-height:1.45}
.lfsf-phase,.lfsf-check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:#344e6a;margin:0!important}
.lfsf-check input{appearance:auto;accent-color:var(--lf-b);width:16px;height:16px;flex:none;margin:0!important;cursor:pointer}
.lfsf-check{align-self:end;min-height:46px;padding:6px 0;font-weight:650;color:#2f4c69}
.lfsf-advanced{margin-top:18px;border:1px solid #d6e6f8;border-radius:14px;background:#fbfdff;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.lfsf-advanced:hover{border-color:#accdf1;box-shadow:0 4px 14px #174ea60c}
.lfsf-advanced[open]{border-color:#a7c9f0;background:#fff;box-shadow:0 6px 18px #174ea610}
.lfsf-advanced>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:14px 16px;color:#26588e;background:linear-gradient(110deg,#f5faff,#eef5ff);transition:background .2s;user-select:none}
.lfsf-advanced>summary:hover{background:linear-gradient(110deg,#ebf5ff,#e4f0ff)}
.lfsf-advanced[open]>summary{background:linear-gradient(110deg,#eaf4ff,#e4f0ff)}
.lfsf-advanced>summary::-webkit-details-marker{display:none}
.lfsf-advanced-label,.lfsf-advanced-end{display:flex;align-items:center;gap:12px;min-width:0}
.lfsf-advanced-icon{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;border-radius:11px;background:#deecff;color:var(--lf-a);border:1px solid #c9dfff}
.lfsf-advanced-copy{display:flex;flex-direction:column;min-width:0;line-height:1.32;gap:4px}
.lfsf-advanced-copy strong{font-size:13.5px;font-weight:800;color:#20518b}
.lfsf-advanced-copy small{font-size:11.5px;font-weight:500;color:#67829e}
.lfsf-advanced-state{font-size:11.5px;font-weight:800;color:#2961a1;letter-spacing:.01em}
.lfsf-advanced-state::after{content:'Mostra'}
.lfsf-advanced[open] .lfsf-advanced-state::after{content:'Nascondi'}
.lfsf-advanced-chevron{flex:0 0 29px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid #cee2fa;background:#fff;color:#275d96}
.lfsf-advanced-chevron svg{transition:transform .24s ease}
.lfsf-advanced[open] .lfsf-advanced-chevron svg{transform:rotate(180deg)}
.lfsf-advanced-body{border-top:1px solid #dae8fa;padding:17px}
.lfsf-competence-hint{display:block;padding:0 1px;color:#44698b!important;font-size:11.7px!important;line-height:1.45!important}
.lfsf-actions,.lfsf-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.lfsf-actions{margin-top:22px}
.lfsf-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 19px;border:1px solid transparent;border-radius:9px;cursor:pointer;font-size:13px!important;font-weight:750!important;line-height:1.25!important;text-decoration:none!important;transition:background .2s,transform .2s,box-shadow .2s}
.lfsf-btn:hover{transform:translateY(-1px)}
.lfsf-btn:focus-visible,.lfsf-help:focus-visible,.lfsf-help-close:focus-visible,.lfsf-advanced>summary:focus-visible{outline:3px solid #80b8fb;outline-offset:2px}
.lfsf-btn-main{background:linear-gradient(120deg,var(--lf-a),var(--lf-b));color:#fff!important;box-shadow:0 4px 12px #174ea626}
.lfsf-btn-main:hover{box-shadow:0 6px 16px #174ea632}
.lfsf-btn-muted{background:#f1f5fa;color:#385779!important;border-color:#d6e3f0}
.lfsf-btn-muted:hover{background:#e9f0f9}
.lfsf-result{overflow:hidden;margin-top:0;scroll-margin-top:22px;outline:none}
.lfsf-result-hero{padding:26px 29px;background:linear-gradient(120deg,#ecf5ff,#e1efff);border-bottom:1px solid #d6e7fb}
.lfsf-result-hero .lfsf-eyebrow{color:#577899}
.lfsf-result-hero h3{font-size:19px!important;font-weight:800!important;color:#184b85!important;margin:6px 0 13px!important}
.lfsf-big{display:block;color:var(--lf-a);font-size:clamp(27px,4vw,39px);font-weight:850;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.lfsf-totalhint{display:block;color:#57718c;font-size:12.5px;margin-top:6px}
.lfsf-result-body{padding:24px 27px 12px}
.lfsf-result-body h4{font-size:15px!important;font-weight:800!important;color:#1e4d7f!important;margin:23px 0 11px!important}
.lfsf-meta{padding:12px 15px;border:1px solid #d8e8f8;border-radius:9px;color:#315777;background:#f5f9ff;font-size:13px;font-weight:650}
.lfsf-lines{border:1px solid #e0eaf4;border-radius:11px;overflow:hidden}
.lfsf-line{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:12px 15px;background:#fff;border-bottom:1px solid #e9eff6;font-size:13px}
.lfsf-line:last-child{border-bottom:0}
.lfsf-line:nth-child(even){background:#fafcff}
.lfsf-line span{color:#47627d}
.lfsf-line strong{color:#23496e;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.lfsf-line-total,.lfsf-line-net{background:#eff6ff!important;font-weight:800}
.lfsf-line-total strong,.lfsf-line-net strong{color:var(--lf-a)}
.lfsf-explanation{padding:1px 0 0}
.lfsf-explanation p{margin:0 0 11px!important;color:#4f6882!important;font-size:13px!important;line-height:1.62!important}
.lfsf-result-actions{padding:0 27px 24px}
.lfsf[data-view="result"] .lfsf-hero,.lfsf[data-view="result"] .lfsf-form{display:none!important}
@media(max-width:760px){.lfsf-hero{padding:25px 24px;min-height:170px}.lfsf-card{padding:20px}.lfsf-result-body{padding:20px 19px 10px}.lfsf-result-hero{padding:20px 19px}.lfsf-result-actions{padding:0 19px 20px}}
@media(max-width:610px){.lfsf-hero-copy{width:100%;max-width:100%}.lfsf-hero-icon{display:none}.lfsf-grid{grid-template-columns:minmax(0,1fr)}.lfsf-card{padding:19px 16px}.lfsf-stephead{margin-bottom:16px}.lfsf-advanced-body{padding:14px}.lfsf-line strong{white-space:normal}.lfsf-actions .lfsf-btn{flex:1}}
@media(max-width:370px){.lfsf-result-actions .lfsf-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.lfsf-hero::after,.lfsf-lawyer-smile{animation:none!important}.lfsf *{transition:none!important}}
@media print{
  @page{margin:14mm}
  .lfsf{position:static!important;left:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:0!important}
  .lfsf[data-view="result"] .lfsf-hero,.lfsf[data-view="result"] .lfsf-form{display:none!important}
  .lfsf[data-view="result"] .lfsf-result{position:static!important;left:auto!important;top:auto!important;width:100%!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .lfsf-result-actions,.lfsf-help-modal{display:none!important}
  .lfsf-line,.lfsf-meta,.lfsf-explanation p{break-inside:avoid-page;page-break-inside:avoid}
  .lfsf-result-body h4{break-after:avoid-page;page-break-after:avoid}
  .lfsf-line{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.lfsf-actions-final{padding:4px 1px 0;margin-top:18px}
/* Campi condizionali e informazioni contestuali */
.lfsf-help-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:999999;padding:18px}
.lfsf-help-backdrop{position:absolute;inset:0;background:#102d4ba9}
.lfsf-help-dialog{position:relative;z-index:1;width:min(100%,460px);padding:22px 23px;border:1px solid #d4e2f2;border-radius:14px;background:#fff;box-shadow:0 18px 55px #0c315550;color:#2b4663;outline:none}
.lfsf-help-dialog h3{color:var(--lf-a)!important;font-size:17px!important;line-height:1.3!important;font-weight:800!important;margin:0 30px 10px 0!important}
.lfsf-help-dialog p{color:#4c6580!important;font-size:13px!important;line-height:1.65!important;margin:0 0 18px!important}
.lfsf-help-close{position:absolute;top:11px;right:11px;border:0;border-radius:8px;width:34px;height:34px;background:#edf4fb;color:#466987;cursor:pointer;font-size:24px;line-height:1}
.lfsf-help-close:hover{background:#dceafa}
.lfsf-line small{color:#607f9c;font-weight:600}
.lfsf-field select:disabled,.lfsf-field input:disabled{opacity:.7}

.lfsf-extra-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}

/* Fasi tabellari: struttura leggibile, selezione puntuale e riepilogo sempre visibile. */
.lfsf-phase-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.lfsf-phase-range{font-size:12.5px;color:#476b8a;font-weight:680;flex:1 1 260px}
.lfsf-level-switch{display:flex;gap:2px;align-items:center;padding:4px;border-radius:10px;border:1px solid #cfdef1;background:#f4f8fe;margin:0;min-width:0}
.lfsf-level-switch legend{font-size:11px;color:#54718e;font-weight:700;padding:0 4px}
.lfsf-level-switch label{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:7px;cursor:pointer;color:#355978;font-size:12px;font-weight:700;white-space:nowrap}
.lfsf-level-switch label:has(input:checked){background:#dceafe;color:#174ea6}
.lfsf-level-switch input{accent-color:#174ea6;margin:0!important}
.lfsf-phase-table-wrap{overflow-x:auto;border:1px solid #d6e3f2;border-radius:12px}
.lfsf-phase-table{border-collapse:collapse!important;width:100%;min-width:675px;font-size:12px;margin:0!important;border:0!important}
.lfsf-phase-table th,.lfsf-phase-table td{padding:11px 9px;border:0!important;border-bottom:1px solid #e6edf6!important;vertical-align:middle;text-align:right;font-variant-numeric:tabular-nums}
.lfsf-phase-table thead th{background:#eaf2ff!important;color:#274c78!important;font-weight:800;font-size:11.5px;white-space:nowrap}
.lfsf-phase-table th:first-child,.lfsf-phase-table td:first-child{text-align:left;padding-left:13px;min-width:180px}
.lfsf-phase-table tbody tr:last-child td{border-bottom:0!important}
.lfsf-phase-table tbody tr:hover{background:#f8fbff}
.lfsf-phase-name{font-variant-numeric:normal!important}
.lfsf-phase-toggle{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:12.5px;font-weight:650;color:#314e6a;margin:0!important;line-height:1.4}
.lfsf-phase-toggle input{margin:0!important;accent-color:#1f6feb;flex:0 0 16px;width:16px;height:16px}
.lfsf-phase-inactive td{color:#71869a}
.lfsf-phase-select select{width:150px;max-width:100%;padding:7px 6px;border-radius:8px;border:1px solid #bfd2e8;background:#fff;font-size:12px;color:#244868!important}
.lfsf-phase-select select:focus{outline:2px solid #8fbdf8;outline-offset:1px}
.lfsf-phase-select select:disabled{opacity:.55}
.lfsf-phase-amount{font-weight:800;color:#174ea6!important;white-space:nowrap}
.lfsf-phase-table tfoot td{border:0!important;background:#eaf3ff;color:#194a81;font-size:12.5px;font-weight:800}
.lfsf-phase-table tfoot td:last-child{text-align:right;font-size:14px}
@media(max-width:720px){.lfsf-phase-table-wrap{border:0;overflow:visible}.lfsf-phase-table{min-width:0;display:block}.lfsf-phase-table thead{display:none}.lfsf-phase-table tbody{display:grid;gap:12px}.lfsf-phase-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 7px;padding:12px;border:1px solid #dae7f4;border-radius:12px;background:#fbfdff}.lfsf-phase-table td{padding:4px 2px!important;border:0!important;text-align:left!important;font-size:12px}.lfsf-phase-table td:first-child{grid-column:1/-1}.lfsf-phase-table td[data-param]::before{display:block;content:'Minimo';font-size:10px;font-weight:700;color:#627e98}.lfsf-phase-table td[data-param=med]::before{content:'Medio'}.lfsf-phase-table td[data-param=max]::before{content:'Massimo'}.lfsf-phase-table .lfsf-phase-select{grid-column:1/span 2}.lfsf-phase-table .lfsf-phase-select select{width:100%}.lfsf-phase-table .lfsf-phase-amount{align-self:center;text-align:right!important}.lfsf-phase-table .lfsf-phase-amount::before{display:block;content:'Compenso';font-size:10px;color:#627e98}.lfsf-phase-table tfoot{display:block;margin-top:13px;border:1px solid #d8e8fa;border-radius:10px;background:#eaf3ff}.lfsf-phase-table tfoot tr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px}.lfsf-phase-table tfoot td{padding:0!important}.lfsf-phase-table tfoot td:last-child{white-space:nowrap}}
@media(max-width:450px){.lfsf-level-switch{width:100%;justify-content:space-around}.lfsf-level-switch label{flex:1;justify-content:center;padding:7px 4px}}

/* Calcolo percentuale e dati non disponibili: nessuna selezione inattendibile. */
.lfsf-percent-preview{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:17px 20px;border:1px solid #cfe0f4;border-radius:13px;background:#f0f7ff;color:#234c7c}
.lfsf-percent-preview strong{font-size:15px;color:#174ea6;font-weight:800}
.lfsf-percent-preview p{margin:5px 0 0!important;font-size:12.5px!important;color:#4e6882!important}
.lfsf-percent-preview [data-percent-total]{font-size:23px;white-space:nowrap;font-variant-numeric:tabular-nums}
.lfsf-phase-unavailable{opacity:.65}
.lfsf-phase-unavailable .lfsf-phase-toggle{cursor:not-allowed}

/* Accessori con aiuti contestuali, senza riquadri aggiuntivi. */
.lfsf-check-info{display:flex;align-items:center;gap:10px;min-height:46px;min-width:0}
.lfsf-check-info .lfsf-check{min-height:auto;flex:0 1 auto;align-self:center}
.lfsf-check-info .lfsf-help{flex:none}
.lfsf-phase-table [data-phase-result]{font-variant-numeric:tabular-nums}

@media(max-width:410px){.lfsf-advanced-state{display:none}.lfsf-advanced>summary{padding:12px}.lfsf-advanced-label{gap:9px}.lfsf-advanced-icon{flex-basis:36px;width:36px;height:36px}}

/* Un solo campo per importo e valore indeterminabile: le modalità sono alternative. */
.lfsf-value-field{align-self:stretch;gap:9px}
.lfsf-value-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1px solid #d7e5f6;border-radius:11px;background:#edf4fd}
.lfsf .lfsf-mode-btn{width:100%;min-width:0;min-height:37px;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#446382;font-size:13px;font-weight:700;line-height:1.25;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s}
.lfsf .lfsf-mode-btn:hover{background:#e1edfc;color:#174ea6}
.lfsf .lfsf-mode-btn[aria-pressed="true"]{background:#174ea6;color:#fff;box-shadow:0 3px 9px #174ea62b}
.lfsf .lfsf-mode-btn:focus-visible{outline:2px solid #1f6feb;outline-offset:2px}
.lfsf-value-content{display:flex;flex-direction:column;gap:7px;min-width:0}
.lfsf-indeterminate-content{padding-top:2px}
.lfsf-indeterminate-content .lfsf-field-label label{font-size:12px!important;color:#5c7086!important}
@media(max-width:390px){.lfsf .lfsf-mode-btn{padding:8px 7px;font-size:12.5px}}

@media(max-width:610px){.lfsf-help-dialog{padding:20px 18px}.lfsf-extra-fields{grid-template-columns:1fr}.lfsf-percent-preview{flex-direction:column;align-items:flex-start}.lfsf-check-info{min-height:40px}}
