[hidden]{display:none!important}
#dashboard-view > .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-actions{margin:20px 0}.home-actions .focus-panel{min-height:0}
#dashboard-view .metric-card p{white-space:normal;overflow:visible;text-overflow:clip}
.topbar>div:not(.top-actions){min-width:0}.topbar h1{overflow-wrap:anywhere}
.ux-details{margin-top:20px;border:1px solid var(--line);border-radius:12px;background:white;padding:16px}
.ux-details>summary{cursor:pointer;font-weight:700;padding:8px;color:var(--ink)}
.ux-details[open]>summary{margin-bottom:18px}.ux-details>.metric-card{margin-bottom:16px}
.ux-dialog{padding:24px}.ux-dialog>p{color:#526d73}
.add-options{display:grid;gap:12px;margin:24px 0}
.add-options button,.task-row{display:grid;gap:8px;width:100%;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f7faf9;color:var(--ink);text-align:left}
.add-options strong{font-size:1rem}.add-options span{font-size:.85rem;color:#526d73}.task-row{margin-top:12px}
button:hover{filter:brightness(.97)}:focus-visible{outline:3px solid #147e6c;outline-offset:3px}
#spese-view{padding:0}#page-title:focus{outline:none}
/* Testi operativi leggibili anche su schermi compatti e con zoom. */
.nav-item,.btn,.profile-grid label,.form-grid label,.filters,.task-row,.add-options button{font-size:.875rem}
.metric-card p,.data-note,.disclaimer p,.assistant-banner p,.panel-copy,.document-row small,.bank-match-label,.tax-deadline p,.expense-card-head p{font-size:.8125rem;line-height:1.45}
th,td,.document-row strong,.bank-check-row strong,.tax-deadline>div>strong{font-size:.875rem}
.text-button,.demo-link,.privacy-strip p,.allocation-preview,.process-list{font-size:.875rem}
.nav-item,.btn,.task-row,.add-options button,.mobile-menu,.close-button{min-height:44px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media(max-width:760px){#dashboard-view>.summary-grid{grid-template-columns:1fr}.ux-details{padding:12px}.top-actions{flex-wrap:wrap}.task-row{padding:14px}.ux-dialog{padding:20px}}

.version-badge{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;margin:12px 4px 0;padding:10px 12px;border:1px solid rgba(125,224,204,.2);border-radius:10px;color:#d8efec;background:rgba(125,224,204,.06)}
.version-badge span{font-size:.78rem;font-weight:700}.version-badge strong{font-size:.78rem;color:#7de0cc}.version-badge small{grid-column:1/-1;color:#9fb9be;font-size:.75rem}
.profile-toolbar{align-items:flex-end}.profile-state{border-radius:999px;padding:7px 11px;background:#fff1d8;color:#946015;font-size:.8rem;font-weight:800}.profile-state.complete{background:#e3f4ee;color:#167b67}
.profile-form{display:grid;gap:15px}.profile-section{margin:0;min-width:0;padding:22px}.profile-section legend{padding:0 8px;color:var(--ink);font-family:Georgia,serif;font-size:1.25rem;font-weight:500}
.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.profile-grid label{display:grid;align-content:start;gap:7px;color:#405f66;font-size:.875rem;font-weight:700}.profile-grid label.wide{grid-column:span 2}.profile-grid input,.profile-grid select,.profile-grid textarea{width:100%;min-height:44px;border:1px solid #d3dfdd;border-radius:9px;background:#fbfdfd;color:var(--ink);padding:10px 12px;font-size:1rem;font-weight:400}.profile-grid textarea{min-height:86px;resize:vertical}.profile-grid input:focus,.profile-grid select:focus,.profile-grid textarea:focus{border-color:var(--teal);outline:3px solid rgba(32,167,141,.16)}
.profile-save-bar{position:sticky;bottom:14px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border:1px solid #d9e5e3;border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(20,54,62,.15);backdrop-filter:blur(8px)}.profile-save-bar strong,.profile-save-bar span{display:block}.profile-save-bar strong{font-size:.9rem}.profile-save-bar span{color:#667e83;font-size:.8rem}.profile-card{cursor:pointer}.profile-card:hover{background:rgba(255,255,255,.05)}
.profile-save-actions{display:flex;gap:10px}.danger-button{color:#9b3328;border-color:#e4b5af!important}
@media(max-width:1050px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.profile-toolbar{align-items:flex-start;flex-direction:column}.profile-grid{grid-template-columns:1fr}.profile-grid label.wide{grid-column:auto}.profile-section{padding:18px 15px}.profile-save-bar,.profile-save-actions{align-items:stretch;flex-direction:column;bottom:8px}.profile-save-bar .btn{width:100%}.profile-banner{align-items:flex-start}}
