/* Area investitori Meritness — palette dei documenti investitori (navy 0B3D6B, azzurro 2196C4) e accenti del marchio */
:root{--navy:#0B3D6B;--blue:#1565A8;--sky:#2196C4;--text:#1A2B3C;--grey:#6B7280;--line:#CBD4E0;--light:#E7EBF0;--lightblue:#EBF3FB;
--purple:#8B2FC9;--pink:#D4255A;--orange:#E8730A;--yellow:#F5C518;--ok:#1A9E5C;--warn:#B78800;--err:#B91C1C}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Calibri,"Segoe UI",Carlito,Helvetica,Arial,sans-serif;color:var(--text);background:#F5F7FA;font-size:16px;line-height:1.5}
a{color:var(--blue)}
.wrap{max-width:880px;margin:0 auto;padding:0 16px}
body.admin .wrap{max-width:1180px}
header.top{background:#fff;border-bottom:3px solid var(--navy)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:12px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--grey);font-weight:700}
.brand img{height:52px;width:auto}
.usr{font-size:14px;color:var(--grey)} .usr a{margin-left:8px}
main.wrap{padding-top:24px;padding-bottom:48px}
h1{font-size:26px;color:var(--navy);margin:0 0 8px} h2{font-size:18px;margin:0}
.lead{color:var(--grey);margin-top:0}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;margin:16px 0}
.bar{background:var(--navy);color:#fff;text-transform:uppercase;font-weight:700;font-size:14px;letter-spacing:.02em;padding:8px 14px;border-radius:6px 6px 0 0;margin:24px 0 0}
.bar + .card{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}
.note{background:var(--lightblue);border-top:3px solid var(--blue);padding:14px 16px;border-radius:6px;margin:16px 0}
.warnbox{background:#FFFBE6;border-top:3px solid var(--warn);padding:14px 16px;border-radius:6px;margin:16px 0}
.flash{padding:12px 14px;border-radius:6px;margin:12px 0;background:#E8F7EF;border:1px solid #B6E4CB}
.flash.err{background:#FDECEC;border-color:#F5B5B5}
.fld{display:block;margin:0 0 14px}
.fld span{display:block;font-weight:700;font-size:14px;margin-bottom:4px}
.fld small{display:block;color:var(--grey);font-size:13px;margin-top:3px}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=password],select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--sky);border-color:var(--sky)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:640px){.grid2{grid-template-columns:1fr}}
.chk{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;cursor:pointer}
.chk input{margin-top:4px;width:20px;height:20px;flex:none}
.radio{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:6px;margin-bottom:10px;cursor:pointer;background:#fff}
.radio input{margin-top:4px}
.btn{display:inline-block;background:var(--navy);color:#fff;border:0;border-radius:6px;padding:12px 20px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--blue)}
.btn.sec{background:#fff;color:var(--navy);border:1px solid var(--navy)}
.btn.small{padding:6px 12px;font-size:14px}
.btn.danger{background:var(--err)}
.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:18px}
.steps{display:flex;gap:6px;list-style:none;padding:0;margin:8px 0 20px;flex-wrap:wrap;counter-reset:s}
.steps li{flex:1;min-width:110px;counter-increment:s}
.steps a{display:block;padding:8px 10px;border-radius:6px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--grey);font-size:14px}
.steps a:before{content:counter(s) ". "}
.steps li.done a{border-color:var(--ok);color:var(--ok)}
.steps li.done a:after{content:" ✓"}
.steps li.cur a{background:var(--navy);border-color:var(--navy);color:#fff}
.timeline{list-style:none;padding:0;margin:0}
.timeline li{position:relative;padding:0 0 16px 30px}
.timeline li:before{content:"";position:absolute;left:7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--line)}
.timeline li:after{content:"";position:absolute;left:12px;top:20px;bottom:0;width:2px;background:var(--light)}
.timeline li:last-child:after{display:none}
.timeline li.done:before{background:var(--ok)} .timeline li.cur:before{background:var(--orange);box-shadow:0 0 0 4px #FDE3CC}
.timeline b{display:block}
.kv{display:grid;grid-template-columns:220px 1fr;gap:6px 14px;margin:0}
.kv dt{color:var(--grey);font-size:14px} .kv dd{margin:0;word-break:break-word}
@media (max-width:640px){.kv{grid-template-columns:1fr}.kv dd{margin-bottom:8px}}
.copy{display:flex;gap:8px;align-items:center}
.copy code{background:var(--light);padding:3px 8px;border-radius:4px;font-size:15px}
.copy button{font-size:12px;padding:3px 8px;border:1px solid var(--line);background:#fff;border-radius:4px;cursor:pointer}
table.list{width:100%;border-collapse:collapse;background:#fff;font-size:15px}
table.list th{background:var(--blue);color:#fff;text-align:left;padding:8px 10px;font-size:13px}
table.list td{border-bottom:1px solid var(--line);padding:8px 10px;vertical-align:top}
table.list tr:hover td{background:#F8FAFC}
.badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:10px;background:var(--light);color:var(--navy);white-space:nowrap}
.st-firmato,.st-istanza_inviata{background:#E3F4FB} .st-cor_ricevuto{background:#FFF2CC}
.st-bonifico_ricevuto{background:#FDE3CC} .st-completato{background:#E8F7EF;color:var(--ok)} .st-annullato{background:#FDECEC;color:var(--err)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:800px){.stats{grid-template-columns:1fr 1fr}}
.stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}
.stat b{display:block;font-size:22px;color:var(--navy)} .stat span{color:var(--grey);font-size:13px}
.muted{color:var(--grey)} .small{font-size:14px}
footer.foot{color:var(--grey);font-size:13px;padding:24px 0;border-top:1px solid var(--line);background:#fff}
.doclist a{display:flex;justify-content:space-between;padding:12px 14px;border:1px solid var(--line);border-radius:6px;margin-bottom:8px;background:#fff;text-decoration:none}
.code-input{font-size:28px;letter-spacing:8px;text-align:center;max-width:240px}
.narrow{max-width:520px}.hidden{display:none}.indent{margin:0 0 12px 32px}
.err-text{color:#B91C1C}
/* schermi piccoli */
.usr span{display:inline-block;max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.copy code,.kv dd{overflow-wrap:anywhere}
@media (max-width:640px){table.list{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.top .brand span{display:none}}
.grid3{display:grid;grid-template-columns:1fr 2fr 1fr;gap:0 16px}
@media (max-width:640px){.grid3{grid-template-columns:1fr}}
.subhead{font-weight:700;color:var(--blue);margin:14px 0 6px}
.ok-text{color:#15803D;font-weight:400}
select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
/* menu dell'area investitori */
.subnav{background:#fff;border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;white-space:nowrap}
.subnav a{padding:12px 12px;color:var(--grey);text-decoration:none;font-size:15px;border-bottom:3px solid transparent}
.subnav a.cur,.subnav a:hover{color:var(--navy);border-bottom-color:var(--blue)}
/* messaggi */
.thread{display:flex;flex-direction:column;gap:10px}
.msg{max-width:80%;padding:10px 12px;border-radius:10px;background:#F1F5F9}
.msg.mine{align-self:flex-end;background:#E0ECFA}
.msg .meta{font-size:12px;color:var(--grey);margin-bottom:4px}
.msg .body{overflow-wrap:anywhere}
textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;box-sizing:border-box}
.tabs{display:flex;gap:6px;margin-bottom:14px}
.tabs a{flex:1;text-align:center;padding:8px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--grey);font-size:14px}
.tabs a.cur{background:var(--navy);color:#fff;border-color:var(--navy)}
.mt{margin-top:14px}
/* passi della procedura: riquadri della stessa altezza */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));align-items:stretch}
.steps li{min-width:0;display:flex}
.steps a:before{content:counter(s) ".\00a0"}
.steps li.done a:after{content:"\00a0✓"}
.steps a{flex:1;display:block}
@media (max-width:640px){.steps{grid-template-columns:repeat(3,1fr)}.steps a{font-size:13px;padding:7px 8px}}
/* QR code per il cellulare (solo su schermi grandi) */
.handoff-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.handoff-grid{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center}
#qr svg{width:170px;height:170px;display:block}
@media (max-width:700px){.handoff{display:none}}
/* campo con pulsante «Copia» */
.copyfield{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:var(--light);overflow:hidden;max-width:100%}
.copyfield .cf-val{flex:1;min-width:0;padding:8px 12px;overflow-wrap:anywhere;line-height:1.45}
.copyfield .cf-btn{flex:0 0 auto;white-space:nowrap;border:0;border-left:1px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-size:14px;font-weight:700;padding:0 16px;cursor:pointer;min-width:92px}
.copyfield .cf-btn:hover{background:#F1F5F9}
.copyfield .cf-btn.done{color:#15803D}
p .copyfield{margin-top:6px}
/* riquadri sotto una barra di sezione: sempre larghi quanto la barra; il contenuto dei moduli brevi resta compatto */
.bar + .card.narrow{max-width:none}
.bar + .card.narrow > *{max-width:520px}
.bar + .card.narrow > .actions{max-width:none}
/* revisione grafica 24/10 */
.btn{white-space:nowrap}
.btn[disabled],button[disabled]{opacity:.45;cursor:not-allowed}
@media (max-width:640px){
  .subnav .wrap{gap:0;justify-content:space-between;padding-left:8px;padding-right:8px}
  .subnav a{padding:12px 6px;font-size:13.5px}
  .copyfield{flex-direction:column}
  .copyfield .cf-btn{border-left:0;border-top:1px solid var(--line);padding:9px 12px;min-width:0}
}
/* pagina Testi */
input.full{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;box-sizing:border-box}
.wrap-tabs{flex-wrap:wrap}
.wrap-tabs a{flex:0 1 auto;padding:8px 14px}
.prose p{margin:0 0 12px}
/* documenti nel pannello */
.doc-row{border-bottom:1px solid var(--line);padding:10px 0}
.doc-row:last-child{border-bottom:0}
.doc-row.off .doc-head a{color:var(--grey)}
.doc-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.doc-row details summary{cursor:pointer;color:var(--blue);margin-top:6px}
.doc-edit{margin-top:8px}
/* eliminazione pratica */
.bar.bar-danger{background:var(--err)}
.danger-zone{border-color:var(--err)}
.danger-zone .note{background:#FEF2F2;border-top-color:var(--err)}
.doc-btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
/* footer sempre in fondo alla finestra, anche con poco contenuto */
body{min-height:100vh;display:flex;flex-direction:column}
main.wrap{flex:1 0 auto;width:100%;box-sizing:border-box}
