
#fsd-app{
  --fsd-font:inherit;
  --fsd-head:inherit;
  --navy:#13284a;
  --navy-2:#1d3a66;
  --paper:#f5f7fa;
  --card:#ffffff;
  --line:#d6dde8;
  --ink:#16202e;
  --muted:#3f4a5b;
  --sky:#2f6fb3;
  --amber:#c98a0b;
  --red:#b83a32;
  --green:#2b7a4b;
  --radius:6px;
}
#fsd-app, #fsd-app *{box-sizing:border-box}
#fsd-app{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--fsd-font),system-ui,sans-serif}
#fsd-app h1,#fsd-app h2,#fsd-app h3,#fsd-app .cond{font-family:var(--fsd-head),sans-serif;letter-spacing:.01em}
#fsd-app h1{font-size:2rem;margin:0 0 .25rem;font-weight:700}
#fsd-app h2{font-size:1.5rem;margin:1.5rem 0 .5rem;font-weight:600}
#fsd-app h3{font-size:1.1rem;margin:1rem 0 .4rem;font-weight:700;font-family:var(--fsd-font),system-ui,sans-serif;letter-spacing:0}  /* titoli di sezione più leggibili (l e i ben distinte) */
#fsd-app p{margin:.3rem 0 .8rem}
#fsd-app a{color:var(--sky)}
#fsd-app button,#fsd-app input,#fsd-app select,#fsd-app textarea{font:inherit}
#fsd-app :focus-visible{outline:3px solid #8db7e8;outline-offset:2px}

#fsd-app .top{background:var(--navy);color:#fff}
#fsd-app .top .bar{max-width:1180px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
#fsd-app .brand{font-family:var(--fsd-head);font-size:1.35rem;font-weight:700;white-space:nowrap}
#fsd-app .brand small{display:block;font-family:var(--fsd-font);font-weight:400;font-size:.8rem;opacity:.75}
#fsd-app nav{display:flex;gap:4px;flex-wrap:wrap}
#fsd-app nav button{background:none;border:0;color:#cfdaeb;padding:8px 12px;border-radius:var(--radius);cursor:pointer}
#fsd-app nav button:hover{background:var(--navy-2);color:#fff}
#fsd-app nav button[aria-current="page"]{background:#fff;color:var(--navy);font-weight:600}
#fsd-app .role{margin-left:auto;font-size:.85rem;color:#cfdaeb;display:flex;align-items:center;gap:8px}
#fsd-app .role select{width:auto;margin:0;background:var(--navy-2);color:#fff;border:1px solid #3b5a88;border-radius:4px;padding:4px}

#fsd-app main{max-width:1180px;margin:0 auto;padding:20px 16px 80px}
#fsd-app .lead{color:var(--muted);max-width:70ch}

#fsd-app .panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:12px 0}
#fsd-app .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px}
#fsd-app label{display:block;font-size:.85rem;color:var(--muted);font-weight:600}
#fsd-app input,#fsd-app select,#fsd-app textarea{width:100%;padding:8px 10px;border:1px solid #b9c4d4;border-radius:4px;background:#fff;color:var(--ink);margin-top:3px}
#fsd-app input[type=file]{padding:6px;background:#f8fafc}
#fsd-app input.bad{border-color:var(--red);background:#fdf3f2}
#fsd-app textarea{min-height:110px;resize:vertical}
#fsd-app .btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--sky);background:var(--sky);color:#fff;padding:9px 16px;border-radius:var(--radius);cursor:pointer;font-weight:600}
#fsd-app .btn:hover{background:#255d98}
#fsd-app .btn.ghost{background:#fff;color:var(--sky)}
#fsd-app .btn.ghost:hover{background:#eef4fb}
#fsd-app .btn.danger{background:#fff;color:var(--red);border-color:var(--red)}
#fsd-app .btn.go{background:var(--green);border-color:var(--green);color:#fff}
#fsd-app .btn.go:hover{background:#226540}
#fsd-app .btn.go.ghost{background:#fff;color:var(--green)}
#fsd-app .btn.go.ghost:hover{background:#eef7f1}
#fsd-app .btn:disabled{opacity:.45;cursor:not-allowed}
#fsd-app .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#fsd-app .right{margin-left:auto}
#fsd-app table.data{width:100%;border-collapse:collapse;font-size:.92rem}
#fsd-app table.data th{text-align:left;color:var(--muted);font-weight:600;border-bottom:2px solid var(--line);padding:6px 8px}
#fsd-app table.data td{border-bottom:1px solid var(--line);padding:6px 8px;vertical-align:top}
#fsd-app .num{text-align:right;font-variant-numeric:tabular-nums}
#fsd-app .tag{display:inline-block;font-size:.78rem;padding:1px 8px;border-radius:10px;background:#e8eef6;color:var(--navy);font-weight:600}
#fsd-app .tag.ok{background:#e3f1e8;color:var(--green)}
#fsd-app .tag.warn{background:#fbf0d9;color:#8a5d00}
#fsd-app .tag.err{background:#f7e1df;color:var(--red)}
#fsd-app .tag.lock{background:#eceff3;color:var(--muted)}
#fsd-app .scroll{overflow-x:auto}
#fsd-app .note{font-size:.88rem;color:var(--muted)}

/* verifica codice fiscale */
#fsd-app .cfparts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
#fsd-app .cfparts span{font-size:.8rem;padding:2px 8px;border-radius:10px}
#fsd-app .cfparts .y{background:#e3f1e8;color:var(--green)}
#fsd-app .cfparts .n{background:#f7e1df;color:var(--red)}
#fsd-app .cfparts .u{background:#fbf0d9;color:#8a5d00}

/* caricamento documenti */
#fsd-app .uploads{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
#fsd-app .upl{border:1px dashed #9fb0c8;border-radius:var(--radius);padding:12px;background:#fbfcfe}
#fsd-app .upl.done{border-style:solid;border-color:#9fcdb1;background:#f5fbf7}
#fsd-app .upl b{display:block;margin-bottom:4px}
#fsd-app .upl img{display:block;max-width:100%;max-height:120px;margin-top:8px;border-radius:4px}
#fsd-app .upl .fname{font-size:.85rem;color:var(--muted);word-break:break-all}
#fsd-app .onb-step{display:flex;gap:10px;align-items:baseline}
#fsd-app .onb-step .k{font-family:var(--fsd-head);font-size:1.4rem;font-weight:700;color:var(--navy)}

#fsd-app .strip{display:grid;grid-template-columns:150px 1fr auto;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-left:6px solid var(--navy);border-radius:var(--radius);padding:16px 18px;margin:12px 0}
#fsd-app .strip.warn{border-left-color:var(--amber)}
#fsd-app .strip.err{border-left-color:var(--red)}
#fsd-app .reg{font-family:var(--fsd-head);font-size:2.4rem;font-weight:700;line-height:1;color:var(--navy)}
#fsd-app .reg small{display:block;font-family:var(--fsd-font);font-size:.85rem;font-weight:400;color:var(--muted);margin-top:4px}
#fsd-app .gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px 22px}
#fsd-app .gauge .lbl{font-size:.82rem;color:var(--muted)}
#fsd-app .gauge .val{font-family:var(--fsd-head);font-size:1.3rem;font-weight:600}
#fsd-app .meter{height:6px;background:#e3e8ef;border-radius:3px;overflow:hidden;margin-top:3px}
#fsd-app .meter i{display:block;height:100%;background:var(--green)}
#fsd-app .meter i.warn{background:var(--amber)}#fsd-app .meter i.err{background:var(--red)}

#fsd-app .steps{display:flex;gap:0;margin:14px 0 6px;flex-wrap:wrap;padding:0}
#fsd-app .steps li{list-style:none;flex:1;min-width:110px;padding:8px 10px;border-bottom:3px solid var(--line);color:var(--muted);font-size:.9rem}
#fsd-app .steps li b{font-family:var(--fsd-head);font-size:1.1rem;margin-right:4px}
#fsd-app .steps li.done{border-color:var(--green);color:var(--green)}
#fsd-app .steps li.now{border-color:var(--sky);color:var(--ink);font-weight:600}

#fsd-app .checks{padding-left:0;list-style:none}
#fsd-app .checks li{margin:4px 0}
#fsd-app .checks .e::before{content:"●";color:var(--red);margin-right:8px}
#fsd-app .checks .w::before{content:"●";color:var(--amber);margin-right:8px}

#fsd-app .preview-wrap{display:flex;gap:18px;align-items:flex-start}
#fsd-app .sheets{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:18px;background:#e7ebf0;padding:18px;border-radius:var(--radius);overflow-x:auto}
#fsd-app .sheet{width:794px;min-height:1123px;background:#fff;box-shadow:0 1px 4px rgba(20,30,50,.18);padding:56px 64px;font-family:"Times New Roman",Times,serif;font-size:13.5px;line-height:1.55;color:#000;position:relative;flex:none}
#fsd-app .sheet .hd{width:100%;border-collapse:collapse;margin-bottom:28px}
#fsd-app .sheet .hd td{border:1px solid #000;padding:3px 6px;vertical-align:top;font-size:11px}
#fsd-app .sheet .hd .tt{font-weight:700;font-size:14px;padding:10px 6px}
#fsd-app .sheet .hd .aeci{width:150px;text-align:center;font-family:Arial,sans-serif;font-weight:700;font-size:11px;vertical-align:middle}
#fsd-app .sheet .ln{margin:9px 0}
#fsd-app .fv{display:inline-block;min-width:60px;border-bottom:1px solid #000;padding:0 4px;font-family:Arial,sans-serif;font-size:12.5px;color:#0b2a6b}
#fsd-app .fv[data-edit]{cursor:pointer}
#fsd-app .fv[data-edit]:hover{background:#fff2b8}
#fsd-app .fv.empty{background:#fde7e5}
#fsd-app .sheet h4{text-align:center;margin:18px 0 2px;font-size:14px}
#fsd-app .sheet .sig{margin-top:26px;text-align:right}
#fsd-app .sig .mark{display:inline-block;min-width:240px;border-bottom:1px solid #000;text-align:center;font-family:Arial,sans-serif;font-size:11px;color:#0b2a6b;min-height:18px}
#fsd-app .watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:Arial,sans-serif;font-size:130px;font-weight:700;color:rgba(200,30,30,.08);transform:rotate(-30deg)}
#fsd-app table.it{width:100%;border-collapse:collapse;font-family:Arial,sans-serif;font-size:10.5px;margin-bottom:0}
#fsd-app table.it th,#fsd-app table.it td{border:1px solid #9aa3ad;padding:3px 5px;height:21px}
#fsd-app table.it th{text-align:left}
#fsd-app table.it .n{width:28px;text-align:center}
#fsd-app table.it .d{width:80px}
#fsd-app table.it .h{width:96px}
#fsd-app .it.c1 th{background:#fdf1d4}#fsd-app .it.c2 th{background:#dce9f6}#fsd-app .it.c3 th{background:#d7ead0}#fsd-app .it.c4 th{background:#dde3ea}#fsd-app .it.c5 th{background:#f5bf9a}#fsd-app .it.c6 th{background:#ffef3d}
#fsd-app table.it td.v{color:#0b2a6b}
#fsd-app .comlines div{border-bottom:1px solid #000;min-height:22px;font-family:Arial,sans-serif;font-size:11.5px;color:#0b2a6b;padding-top:3px}
#fsd-app .sheet .notes{font-family:Arial,sans-serif;font-size:11px;margin-top:18px}
#fsd-app .sheet .notes li{margin:2px 0}

#fsd-app .drawer{width:300px;flex:none;position:sticky;top:12px}

#fsd-app .modal{position:fixed;inset:0;background:rgba(10,20,40,.45);display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}
#fsd-app .modal .box{background:#fff;border-radius:8px;max-width:460px;width:100%;padding:22px;max-height:calc(100vh - 32px);overflow-y:auto}
#fsd-app .toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:10px 16px;border-radius:var(--radius);z-index:30;max-width:90vw}
#fsd-app .offscreen{position:absolute;left:-10000px;top:0}

/* barra azioni dell'anteprima: resta visibile scorrendo */
#fsd-app .actionbar{position:sticky;top:0;z-index:6;background:var(--paper);display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);margin-bottom:10px}
#fsd-app .foot{max-width:1180px;margin:0 auto;padding:0 16px 30px;font-size:.85rem;color:var(--muted)}
#fsd-app .privacy h2{font-size:1.25rem}#fsd-app .privacy p,#fsd-app .privacy li{max-width:80ch}
@media (max-width:700px){
  #fsd-app .top .bar{gap:8px;padding:10px 12px}
  #fsd-app .brand{flex:1}
  #fsd-app .role{order:2;margin-left:0}
  #fsd-app nav{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:2px;padding-bottom:2px;scrollbar-width:none}
  #fsd-app nav::-webkit-scrollbar{display:none}
  #fsd-app nav button{white-space:nowrap;padding:7px 10px;flex:none}
  #fsd-app main{padding:14px 12px 70px}
  #fsd-app h1{font-size:1.6rem}
  #fsd-app .sheets{padding:8px;gap:10px}
  #fsd-app .actionbar .btn{flex:1;justify-content:center}
  #fsd-app .actionbar .right{margin-left:0}
  #fsd-app .drawer.open{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:65vh;overflow:auto;z-index:15;margin:0;border-radius:12px 12px 0 0;box-shadow:0 -4px 18px rgba(10,20,40,.25)}
  #fsd-app .drawer.help{display:none}
  #fsd-app .steps{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:relative;scroll-snap-type:x proximity}
  #fsd-app .steps::-webkit-scrollbar{display:none}
  #fsd-app .steps li{flex:none;min-width:0;white-space:nowrap;padding:10px 14px;font-size:.92rem;scroll-snap-align:center}
  #fsd-app .steps.regs{display:grid;grid-template-columns:repeat(7,1fr);overflow:visible;margin-bottom:4px}
  #fsd-app .steps.regs li{padding:10px 0 8px;text-align:center}
  #fsd-app .steps.regs li b{margin:0;font-size:1.35rem}
  #fsd-app .steps.regs .slb{display:none}
  #fsd-app .stepcap{display:block;margin:0 0 10px;font-size:.95rem;color:var(--ink);font-weight:600}
  #fsd-app table.data th,#fsd-app table.data td{padding:6px 4px}
  #fsd-app table.data{font-size:.85rem} #fsd-app table.data td .btn{padding:5px 7px;font-size:.8rem}
}
/* telefono: vista di lettura del modulo (il PDF resta in formato A4) */
#fsd-app .mobonly{display:none}
@media (max-width:700px){
  #fsd-app .mobonly{display:inline-flex}
  #fsd-app .sheets.flow{padding:0;background:none;gap:14px}
  #fsd-app .sheets.flow .sheet{width:auto;min-height:0;padding:16px 14px 20px;font-size:15px;line-height:1.5;zoom:1!important;border-radius:6px}
  #fsd-app .sheets.flow .sheet .hd td{font-size:11px;padding:3px 4px}
  #fsd-app .sheets.flow .sheet .hd .tt{font-size:13px}
  #fsd-app .sheets.flow .sheet .hd .aeci{width:74px;font-size:10px}
  #fsd-app .sheets.flow .sheet > div[style*="margin-left:52%"]{margin-left:0!important;font-size:14px}
  #fsd-app .sheets.flow .ln{margin:10px 0}
  #fsd-app .sheets.flow .fv{font-size:15px;min-width:40px;max-width:100%;overflow-wrap:anywhere;padding:1px 4px}
  #fsd-app .sheets.flow .sheet h4{font-size:15px}
  #fsd-app .sheets.flow .sig{text-align:left}
  #fsd-app .sheets.flow .sig .mark{min-width:0;width:100%}
  #fsd-app .sheets.flow .watermark{font-size:72px}
  #fsd-app .sheets.flow table.it{font-size:12.5px;margin-bottom:8px}
  #fsd-app .sheets.flow table.it th,#fsd-app .sheets.flow table.it td{padding:4px 4px;height:auto;overflow-wrap:anywhere}
  #fsd-app .sheets.flow table.it .n{width:20px}
  #fsd-app .sheets.flow table.it .d{width:72px}
  #fsd-app .sheets.flow table.it .h{width:66px}
  #fsd-app .sheets.flow table.it th{overflow-wrap:normal;hyphens:auto}
  #fsd-app .sheets.flow .comlines div,#fsd-app .sheets.flow .notes{font-size:13.5px}
  #fsd-app .sheets.flow .sheet p[style*="font-size:12px"]{font-size:13.5px!important}
}
@media (max-width:900px){
  #fsd-app .preview-wrap{flex-direction:column;align-items:stretch} #fsd-app .preview-wrap>.sheets{width:100%}
  #fsd-app .drawer{width:100%;position:static}
  #fsd-app .strip{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){#fsd-app, #fsd-app *{transition:none!important}}

/* integrazione nel tema WordPress */
#fsd-app{background:transparent;font-family:var(--fsd-font);border-radius:var(--radius)}
#fsd-app .top{border-radius:var(--radius) var(--radius) 0 0}
#fsd-app .top .bar{max-width:none}
#fsd-app main{max-width:none;padding:20px 0 40px}
#fsd-app .foot{max-width:none;padding:0 0 20px}
#fsd-app .fsd-loading{padding:40px 0;color:var(--muted)}
#fsd-app .note,#fsd-app .lead{color:var(--muted)}
#fsd-app p,#fsd-app li,#fsd-app td,#fsd-app label{color:inherit}
#fsd-app label{color:var(--muted)}
#fsd-app nav .logout{margin-left:auto;color:#cfdaeb;text-decoration:none;padding:8px 12px}
#fsd-app .savestate{font-size:.8rem;color:#cfdaeb;margin-left:auto}
#fsd-app input[type=checkbox],#fsd-app input[type=radio]{width:auto}
#fsd-app h1,#fsd-app h2,#fsd-app h3{color:var(--ink);text-transform:none}
#fsd-app button{text-transform:none;letter-spacing:normal;box-shadow:none}
#fsd-app nav button{min-height:0;line-height:1.3}
.fsd-login,#fsd-login{box-sizing:border-box;max-width:440px;margin:24px auto;padding:24px 22px;border:1px solid #d6dde8;border-radius:8px;background:#fff;color:#16202e;font-size:16px;line-height:1.5}
#fsd-login *{box-sizing:border-box}
#fsd-login .fsd-login-title{display:block;margin:0 0 6px;font-size:1.35rem;line-height:1.25;font-weight:700;color:#13284a;letter-spacing:0;text-transform:none}
#fsd-login p,#fsd-login label,#fsd-login a,#fsd-login span{color:#16202e;font-size:1rem}
#fsd-login label{display:block;font-weight:600;margin:0 0 4px}
#fsd-login .login-remember label{display:inline;font-weight:400}
#fsd-login a{color:#1f5fa3;text-decoration:underline}
#fsd-login input[type=text],#fsd-login input[type=password]{width:100%;padding:10px 12px;font-size:1rem;color:#16202e;background:#fff;border:1px solid #8a97aa;border-radius:4px}
#fsd-login input[type=submit]{width:100%;padding:11px 16px;font-size:1rem;font-weight:600;color:#fff;background:#2f6fb3;border:1px solid #2f6fb3;border-radius:6px;cursor:pointer;text-transform:none}
#fsd-login input[type=submit]:hover{background:#255d98}
#fsd-login .fsd-login-links{margin:14px 0 0;font-size:.95rem}
.fsd-privacy-page h2{margin-top:1.4em}
