:root{--ink:#132238;--muted:#68778c;--line:#dce3ec;--bg:#f5f7fa;--card:#fff;--brand:#155eef;--danger:#b42318;--ok:#067647;--warn:#b54708}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}a{color:#174ea6;text-decoration:none}a:hover{text-decoration:underline}.wrap{width:min(1180px,calc(100% - 32px));margin:auto}header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:800;color:var(--ink);font-size:1.15rem}.nav nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pill{background:#eef4ff;padding:8px 12px;border-radius:999px}main{padding:40px 0 64px;min-height:75vh}footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);background:#fff}.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:center;padding:54px 0}.hero h1,h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:.25em 0}.hero p{font-size:1.12rem;color:var(--muted)}.eyebrow{font-weight:700;color:var(--brand)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 28px rgba(20,34,56,.04)}.narrow{max-width:760px;margin:auto}.stack{display:grid;gap:16px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full{grid-column:1/-1}label{font-weight:650;display:grid;gap:7px}input,select{width:100%;border:1px solid #c9d3e1;border-radius:10px;padding:11px 12px;font:inherit;background:#fff;color:var(--ink)}input:focus,select:focus{outline:3px solid rgba(21,94,239,.14);border-color:var(--brand)}small,.muted{color:var(--muted)}.btn,.danger,.linkbtn{border:0;border-radius:10px;padding:11px 16px;font-weight:750;cursor:pointer;font:inherit}.btn{background:var(--brand);color:white;display:inline-block}.btn:hover{filter:brightness(.96);text-decoration:none}.secondary{background:#e9eef6;color:var(--ink)}.danger{background:#fee4e2;color:var(--danger)}.linkbtn{background:transparent;color:#174ea6;padding:0}.small{padding:7px 10px;font-size:.88rem}.inline{display:inline}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.flash{padding:12px 15px;border-radius:10px;margin-bottom:18px}.flash.error{background:#fee4e2;color:#8a1c13}.flash.success{background:#dcfae6;color:#05603a}.notice{background:#fff8db;border:1px solid #efd889;border-radius:10px;padding:12px 14px;color:#684f0d}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.kpi span{display:block;color:var(--muted);font-size:.85rem;margin-bottom:7px}.kpi strong{font-size:1.22rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-weight:750;font-size:.85rem}.badge.ok{background:#dcfae6;color:var(--ok)}.badge.warn{background:#fffaeb;color:var(--warn)}.badge.bad{background:#fee4e2;color:var(--danger)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f0f3f7}dl{display:grid;grid-template-columns:1fr 1fr;gap:7px}dt{color:var(--muted)}dd{margin:0;text-align:right;font-weight:650}.big{font-size:1.8rem;font-weight:800}.big small{font-size:.8rem;font-weight:500}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.sources li{margin:10px 0}.smalltext{font-size:.86rem}@media(max-width:800px){.hero,.grid2,.formgrid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.nav{align-items:flex-start;padding:14px 0;flex-direction:column}.nav nav{gap:10px}.full{grid-column:auto}}@media(max-width:480px){.kpis{grid-template-columns:1fr}.wrap{width:min(100% - 20px,1180px)}main{padding-top:24px}}
.import-list{display:grid;gap:12px}.import-item{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;justify-content:space-between;gap:14px;align-items:center}.import-item.active{border-color:#86c7a5;background:#f3fff7}.mini-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.mini-kpis>div{border:1px solid var(--line);border-radius:12px;padding:12px}.mini-kpis span{display:block;color:var(--muted);font-size:.82rem}.mini-kpis strong{display:block;margin-top:4px}.period-head,.period-row{display:grid;grid-template-columns:1.1fr 1.3fr 1.5fr .9fr .9fr 1fr;gap:10px;align-items:start}.period-head{padding:10px 12px;font-weight:750;background:#f0f3f7;border:1px solid var(--line);border-radius:12px 12px 0 0;font-size:.88rem}.periods{display:grid;gap:0}.period-row{background:#fff;border:1px solid var(--line);border-top:0;padding:13px 12px}.period-row:last-child{border-radius:0 0 12px 12px}.period-notes{grid-column:1/-1;background:#fff8db;border-radius:8px;padding:8px 10px;font-size:.88rem}.kpi small{display:block;margin-top:5px}
@media(max-width:900px){.period-head{display:none}.period-row{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-radius:12px!important;margin-bottom:10px}.period-row>div:not(.period-notes)::before{content:attr(data-label);display:block;color:var(--muted);font-size:.76rem;font-weight:700;margin-bottom:3px}.import-item{align-items:flex-start;flex-direction:column}.mini-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.period-row,.mini-kpis{grid-template-columns:1fr}.period-notes{grid-column:auto}}
.retirement-countdown{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:20px 0;border-color:#a9c2ff;background:linear-gradient(135deg,#fff,#f4f8ff)}.retirement-countdown h2{margin:.2em 0;font-size:1.8rem}.countdown-big{font-size:1.45rem;font-weight:850;margin:.35em 0}.guided-steps{display:grid;gap:14px;padding-left:1.4rem}.guided-steps li{padding-left:.25rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-head h2{margin:.25rem 0}.auto-data-card{margin-bottom:20px}.advanced-box{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fafbfc}.advanced-box summary{cursor:pointer;font-weight:800}.advanced-box[open] summary{margin-bottom:12px}.inner-grid{margin-top:12px}.currency-old strong{display:block}
@media(max-width:800px){.retirement-countdown,.section-head{align-items:flex-start;flex-direction:column}.retirement-countdown .btn{width:100%;text-align:center}}

.career-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}.career-strip div{display:flex;flex-direction:column;gap:3px}.career-strip span{font-size:.86rem;font-weight:700;color:#53637a}.career-strip strong{font-size:1.15rem}.career-strip small{color:#708097}@media(max-width:760px){.career-strip{grid-template-columns:1fr}}

/* v1.3.0 – periodi inclusi/esclusi e amministrazione accessi */
.period-head,.period-row{grid-template-columns:1.08fr 1.2fr 1.35fr .82fr .82fr .92fr .88fr}.period-row.excluded{opacity:.62;background:#f7f8fa}.period-row.excluded .period-notes{background:#f3f4f6}.period-calc-action{display:grid;gap:7px;justify-items:start}.period-calc-action form{margin:0}.admin-link{font-weight:800;color:#7a2e0e}.admin-mode-card{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:end;margin-bottom:20px}.admin-mode-card h2{margin:.2em 0}.admin-mode-form{display:grid;gap:12px}.admin-users{display:grid;gap:12px;margin-top:16px}.admin-user-row{border:1px solid var(--line);border-radius:13px;padding:14px;display:grid;grid-template-columns:1.2fr .55fr 1.45fr;gap:16px;align-items:center}.admin-user-main,.admin-user-status{display:grid;gap:3px}.admin-user-main span{color:#435269}.admin-user-main small,.admin-user-status small{color:var(--muted)}.admin-access-form{display:grid;grid-template-columns:.8fr 1fr auto;gap:10px;align-items:end}.admin-access-form label{font-size:.86rem}.admin-access-form input,.admin-access-form select{padding:8px 9px}.mini-kpis small{display:block;color:var(--muted);margin-top:4px}.access-mode-pill{display:inline-block;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:800;background:#eef4ff;color:#174ea6}
@media(max-width:980px){.admin-user-row{grid-template-columns:1fr 1fr}.admin-access-form{grid-column:1/-1}.admin-mode-card{grid-template-columns:1fr}}
@media(max-width:650px){.admin-user-row,.admin-access-form{grid-template-columns:1fr}.period-calc-action{justify-items:stretch}.period-calc-action .badge{justify-self:start}}
@media(max-width:900px){.period-head{display:none}.period-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.period-row{grid-template-columns:1fr}}

/* v1.3.1 – importo pensione e montante ricostruito */
.pension-forecast-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:20px 0;border-color:#b8c8ea;background:linear-gradient(135deg,#fff,#f6f9ff)}
.pension-forecast-card h2{margin:.2em 0;font-size:2rem}.pension-forecast-card h2 small{font-size:.78rem;font-weight:600;color:var(--muted)}
.pension-amount-card{border-color:#b8c8ea}.pension-amount{color:#102a56}.flash.info{background:#eef4ff;color:#174ea6}
@media(max-width:800px){.pension-forecast-card{align-items:flex-start;flex-direction:column}.pension-forecast-card .btn{width:100%;text-align:center}}

/* v1.4.0 - Storia retributiva CU/CUD */
.table-scroll{overflow-x:auto;max-width:100%}.earnings-list{display:grid;gap:14px}.earning-item{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff}.earning-item.draft{border-color:#efd889;background:#fffdf4}.earning-item.excluded{opacity:.72;background:#f8f9fb}.earning-summary{display:grid;grid-template-columns:1.3fr 1fr auto;gap:18px;align-items:center}.earning-summary h3{margin:.15rem 0 0;font-size:1rem}.earning-main-value span,.earning-main-value small{display:block;color:var(--muted);font-size:.82rem}.earning-main-value strong{display:block;font-size:1.18rem}.earning-item details{margin-top:12px}.earning-item summary{cursor:pointer;font-weight:750;color:#174ea6}.earning-edit-form{margin-top:14px}.earning-actions{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.badge:not(.ok):not(.warn):not(.bad){background:#eef2f6;color:#344054}
@media(max-width:800px){.earning-summary{grid-template-columns:1fr}.earning-summary .actions{justify-content:flex-start}}

/* v1.5.0 - dashboard immediata, cedolini, benefici */
.answer-hero{display:grid;grid-template-columns:1.5fr .5fr;gap:24px;align-items:center;background:linear-gradient(135deg,#102a56,#155eef);color:#fff;border-radius:22px;padding:30px;margin:8px 0 20px;box-shadow:0 14px 38px rgba(21,94,239,.18)}.answer-hero .eyebrow,.answer-hero .muted{color:#dbe7ff}.answer-main h1{font-size:clamp(2.35rem,5vw,4.4rem);margin:.12em 0;line-height:1}.answer-main h1 small{display:block;font-size:.22em;font-weight:650;margin-top:9px;color:#dbe7ff}.answer-label{font-weight:800;font-size:1.15rem;margin:.35em 0}.confidence-box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:18px;border-radius:16px}.confidence-box span,.confidence-box small{display:block;color:#e8efff}.confidence-box strong{font-size:2rem}.progress{height:8px;background:rgba(255,255,255,.18);border-radius:99px;overflow:hidden;margin:10px 0}.progress i{display:block;height:100%;background:#fff;border-radius:99px}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.result-tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px;min-height:150px}.result-tile.primary{border-color:#a9c2ff;background:#f7f9ff}.result-tile span{color:var(--muted);font-size:.85rem;font-weight:750}.result-tile strong{font-size:1.55rem;line-height:1.1}.result-tile b{font-size:1rem}.result-tile small{color:var(--muted);margin-top:auto}.result-tile a{font-weight:750;margin-top:4px}.breakdown-card{margin:20px 0}.lead{font-size:1.06rem}.answer-hero .notice{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}.benefit-hint{border-left:4px solid #155eef;padding-left:12px}
@media(max-width:1050px){.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-hero{grid-template-columns:1fr .55fr}}
@media(max-width:720px){.answer-hero{grid-template-columns:1fr;padding:22px}.result-grid{grid-template-columns:1fr}.confidence-box{width:auto}.answer-main h1{font-size:2.65rem}}
