@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;600;700&display=swap');

:root{
  --bg:#F8FAFC;
  --bg2:#F1F5F9;
  --bg3:#E7EEF5;
  --surface:#FFFFFF;
  --surface2:#F7FAFC;
  --border:#D9E2EC;
  --border2:#C7D4E2;
  --text:#06162B;
  --text2:#06162B;
  --text3:#06162B;
  --text4:#0B2A4A;
  --accent:#1D4D7A;
  --accent2:#0B2A4A;
  --accent-strong:#06162B;
  --accent-soft:#e3edf3;
  --accent-soft-2:#8FB3C7;
  --success:#26815f;
  --success-soft:#dff1e8;
  --danger:#b14b4b;
  --danger-soft:#f7e3e3;
  --warning:#9a6d1f;
  --warning-soft:#f5ebd6;
  --info:#426f87;
  --info-soft:#ddeaf1;
  --shadow:0 1px 3px rgba(24,37,44,.06),0 10px 24px rgba(24,37,44,.05);
  --shadow-lg:0 16px 40px rgba(24,37,44,.10);
  --radius:16px;
  --radius-sm:10px;
  --radius-xs:6px;
  --font:'Comfortaa', system-ui, -apple-system, sans-serif;
  --transition:.18s ease;
  --content-max-mobile:430px;
  --content-max-tablet:920px;
  --content-max-desktop:1120px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{font-size:16px;-webkit-text-size-adjust:100%;height:100%}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button{cursor:pointer;font-family:var(--font);border:none;background:none}
input,select,textarea{font-family:var(--font);font-size:1rem}
input::placeholder,textarea::placeholder{color:var(--text4);opacity:1}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
body.modal-open{overflow:hidden}

.t-hero{font-size:2rem;font-weight:400;letter-spacing:-.02em;line-height:1.12}
.t-title{font-size:1.22rem;font-weight:500;letter-spacing:-.015em}
.t-heading{font-size:1rem;font-weight:500;letter-spacing:-.01em}
.t-body{font-size:.94rem;font-weight:300}
.t-small{font-size:.81rem;font-weight:300}
.t-micro{font-size:.69rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}
.t-light{font-weight:300}
.t-muted{color:var(--text3)}

.app-wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%;max-width:var(--content-max-mobile);margin:0 auto;position:relative;background:var(--bg)}
.logo{display:flex;align-items:center;gap:10px}
.logo-btn{border:none;background:none;padding:0}
.logo-svg{width:28px;height:28px;flex-shrink:0}
.logo-svg-lg{width:48px;height:48px}
.logo-text{font-size:1.08rem;color:var(--accent-strong);font-weight:300;letter-spacing:-.01em;line-height:1}
.logo-text .satori,.logo-text .home-w{font-weight:300}
.logo-text.logo-text-hero{font-size:1.2rem}

.app-header{position:sticky;top:0;z-index:110;background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--border);padding:12px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;backdrop-filter:blur(14px)}
.header-center{min-width:0;display:flex;justify-content:center}
.header-search{width:100%;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:.86rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.header-search:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(96,125,139,.12)}
.header-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.hdr-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text2);background:var(--surface2);transition:var(--transition);font-size:1rem;position:relative;border:1px solid transparent}
.hdr-btn:hover,.hdr-btn:active{background:var(--bg3);color:var(--accent-strong);border-color:var(--border)}
.hdr-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--danger);border:2px solid var(--bg);display:none}
.hdr-dot.visible{display:block}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft-2);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:500;flex-shrink:0;cursor:pointer;user-select:none;border:0;padding:0}

.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--content-max-mobile);background:rgba(255,255,255,.95);border-top:1px solid var(--border);display:flex;align-items:stretch;z-index:100;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -8px 22px rgba(24,37,44,.06);backdrop-filter:blur(14px)}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:9px 4px 7px;color:var(--text2);font-size:.62rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;transition:var(--transition);gap:4px;cursor:pointer;background:none;border:none;border-radius:14px;margin:4px}
.nav-item svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.nav-item.active{color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 84%,white);box-shadow:0 4px 12px rgba(96,125,139,.12)}
.nav-add{flex:0 0 56px;display:flex;align-items:center;justify-content:center;padding:8px}
.nav-add-btn{width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:500;line-height:1;box-shadow:0 10px 24px rgba(96,125,139,.25);transition:var(--transition)}
.nav-add-btn span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding-bottom:1px}
.nav-add-btn:hover,.nav-add-btn:active{background:var(--accent2);transform:scale(1.04)}

.main-content{flex:1;padding:18px 14px 118px;overflow:auto}
.screen{display:none}
.screen.active{display:block}
.screen{width:100%}
#dashboardContent,#saldiContent,#storicoContent,#impostazioniContent{width:100%;max-width:100%;margin:0 auto}
.dashboard-shell{display:flex;flex-direction:column;gap:0}

.card{background:linear-gradient(180deg,#ffffff 0%, #f8fbfd 100%);border:1px solid rgba(217,226,236,.95);border-radius:20px;padding:18px;box-shadow:0 12px 30px rgba(6,22,43,.05),0 2px 8px rgba(6,22,43,.03);margin-bottom:14px}
.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.card-tight{padding:14px 16px}
.section-label{font-size:.69rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text2);margin-bottom:10px;margin-top:24px}
.section-label:first-child{margin-top:0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:var(--radius-sm);font-size:.92rem;font-weight:500;transition:var(--transition);border:none;cursor:pointer}
.btn-primary{background:linear-gradient(180deg,var(--accent) 0%, var(--accent2) 100%);color:#fff;box-shadow:0 10px 20px rgba(93,120,134,.18)}
.btn-primary:hover,.btn-primary:active{background:linear-gradient(180deg,var(--accent2) 0%, var(--accent-strong) 100%)}
.btn-secondary{background:var(--surface2);color:var(--text)}
.btn-secondary:hover,.btn-secondary:active{background:var(--accent-soft);color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 16%, var(--border))}
.btn-danger{background:var(--danger-soft);color:var(--danger)}
.btn-danger:hover,.btn-danger:active{background:var(--danger);color:#fff}
.btn-ghost{background:transparent;color:var(--text2)}
.btn-ghost:hover,.btn-ghost:active{background:var(--surface2)}
.btn-sm{padding:7px 14px;font-size:.81rem}
.btn-full{width:100%}
.flex-1{flex:1}

.form-group{margin-bottom:14px}
.form-label{display:block;font-size:.8rem;font-weight:500;color:var(--text2);margin-bottom:6px}
.form-input,.form-select,.form-textarea{width:100%;padding:11px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.93rem;font-weight:300;transition:var(--transition);appearance:none}
.form-textarea{resize:vertical;min-height:82px;max-height:220px;overflow:auto}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(96,125,139,.12)}
.form-row{display:grid;grid-template-columns:1fr;gap:10px}
.form-hint{font-size:.74rem;color:var(--text3);margin-top:4px}
.address-detail-grid{display:grid;grid-template-columns:1.4fr .6fr .7fr 1fr .6fr 1fr;gap:10px;align-items:start}
.address-detail-grid .form-group{margin-bottom:0}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23607D8B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;text-overflow:ellipsis}
.compact-select{width:auto;font-size:.81rem;padding:4px 28px 4px 8px}
.toggle-group{display:flex;gap:8px;flex-wrap:wrap}
.toggle-btn{padding:7px 14px;border-radius:20px;font-size:.81rem;font-weight:500;background:var(--surface2);color:var(--text2);border:1px solid var(--border);transition:var(--transition)}
.toggle-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.checkbox-row{display:flex;align-items:center;gap:10px;padding:10px 0}
.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}

.member-permissions-editor{display:flex;flex-direction:column;gap:12px}
.member-permission-group{display:flex;flex-direction:column;gap:8px}
.member-permission-row{align-items:center}
.member-permission-row input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:var(--accent)}
.member-invite-modal{max-width:920px}
.member-invite-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(360px,1fr);gap:18px;align-items:start}
.member-invite-main{min-width:0}
.member-quote-panel{border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface2) 72%, white);padding:14px;box-shadow:0 10px 28px rgba(6,22,43,.06)}
.member-quote-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.member-quote-table{display:flex;flex-direction:column;gap:8px}
.member-quote-table-head,.member-quote-line{display:grid;grid-template-columns:minmax(0,1fr) 104px 104px;gap:10px;align-items:center}
.member-quote-table-head{padding:0 6px;font-size:.72rem;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.02em}
.member-quote-line{padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.member-quote-line.is-new{border-color:color-mix(in srgb,var(--accent) 28%, var(--border));background:color-mix(in srgb,var(--accent-soft) 34%, var(--surface))}
.member-quote-person{min-width:0}
.member-quote-person-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-quote-person-role{font-size:.74rem;color:var(--text3);margin-top:2px}
.member-quote-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.7rem;font-weight:600}
.member-quote-input-wrap{display:flex;align-items:center;gap:6px}
.member-quote-input-wrap span{display:none}
.member-quote-input-wrap .form-input{text-align:right;width:100%;padding:9px 10px;font-variant-numeric:tabular-nums}
.member-quote-total{margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--surface);font-size:.78rem;color:var(--text2);border:1px solid var(--border)}

.multi-paganti{max-height:140px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2)}
.multi-paganti label,.quota-row{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--border);font-size:.87rem}
.multi-paganti label:last-child,.quota-row:last-child{border-bottom:none}
.multi-paganti input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}
.quota-box{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2)}
.quota-row input{width:84px;text-align:right}
.inline-row{display:flex;align-items:center;gap:8px}
.scroll-box{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2)}

.modal-overlay{position:fixed;inset:0;background:rgba(24,37,44,.45);z-index:200;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}
.modal-overlay.open{opacity:1;pointer-events:all}
.modal{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:560px;max-height:min(92vh,820px);overflow:hidden;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);padding-bottom:env(safe-area-inset-bottom,16px);display:flex;flex-direction:column}
.modal-large{max-width:720px}
.modal-overlay.open .modal{transform:translateY(0)}
.modal-handle{width:36px;height:4px;background:var(--border2);border-radius:2px;margin:10px auto 16px}
.modal-header{padding:0 20px 16px;border-bottom:1px solid var(--border)}
.sticky-modal-header{position:sticky;top:0;background:var(--surface);z-index:2}
.modal-title{font-size:1.04rem;font-weight:500}
.modal-body{padding:20px;overflow:auto;flex:1}
.modal-footer{padding:0 20px 16px;display:flex;gap:10px}
.inline-status{padding:10px;border-radius:var(--radius-sm);font-size:.87rem;margin-top:8px}
.hidden{display:none!important}
.full-width{width:100%}

.toast-container{position:fixed;top:70px;left:50%;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:460px;pointer-events:none}
.toast{padding:12px 16px;border-radius:var(--radius-sm);font-size:.87rem;font-weight:500;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);pointer-events:all;animation:slideDown .3s ease;justify-content:space-between}
.toast-success{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent)}
.toast-error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}
.toast-info{background:var(--info-soft);color:var(--info);border:1px solid var(--info)}
.toast-warning{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning)}
@keyframes slideDown{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
.toast-text{flex:1}
.toast-action{padding:6px 10px;border-radius:999px;background:transparent;border:1px solid currentColor;color:inherit;font-size:.75rem;font-weight:600}

.banner{padding:14px 16px;border-radius:var(--radius-sm);font-size:.87rem;line-height:1.5;margin-bottom:14px;border:1px solid}
.banner-info{background:var(--info-soft);color:var(--info);border-color:var(--info)}
.banner-warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning)}
.banner-success{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}

.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:.68rem;font-weight:500;letter-spacing:.03em}
.badge-success{background:var(--accent-soft);color:var(--accent)}
.badge-danger{background:var(--danger-soft);color:var(--danger)}
.badge-warning{background:var(--warning-soft);color:var(--warning)}
.badge-neutral{background:var(--surface2);color:var(--text2)}
.badge-info{background:var(--info-soft);color:var(--info)}

.list-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}
.list-item:last-child{border-bottom:none}
.list-item-content{flex:1;min-width:0}
.list-item-title{font-size:.93rem;font-weight:500}
.list-item-sub{font-size:.81rem;color:var(--text2);margin-top:2px;white-space:pre-wrap}
.list-item-right{text-align:right;flex-shrink:0;min-width:124px}
.list-item-saldo{display:block;padding:12px 0}.saldo-row-grid{display:grid;grid-template-columns:56px minmax(180px,2fr) minmax(120px,1fr) minmax(110px,.9fr) minmax(140px,1fr) minmax(110px,.9fr);align-items:center;column-gap:16px;width:100%}.saldo-col{min-width:0}.saldo-col-avatar{display:flex;align-items:center;justify-content:center}.saldo-col-name{min-width:0}.saldo-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saldo-meta-label{font-size:.68rem;line-height:1.1;text-transform:uppercase;letter-spacing:.05em;color:var(--text4);margin-bottom:4px}.saldo-meta-value{font-size:.86rem;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saldo-col-state .status-indicator{justify-content:flex-start}.saldo-col-amount{text-align:right}.saldo-col-amount .saldo-meta-label{text-align:right}.saldo-inline-amount{min-width:88px;text-align:right}
.amount-positive{color:var(--success);font-weight:500}
.amount-negative{color:var(--danger);font-weight:500}
.amount-neutral{color:var(--text3)}

.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.kpi-box{background:linear-gradient(180deg,#ffffff 0%, #f7fbfd 100%);border-radius:18px;padding:14px;position:relative;border:1px solid rgba(217,226,236,.95);box-shadow:0 6px 18px rgba(6,22,43,.04)}
.kpi-box.kpi-clickable{cursor:pointer}
.kpi-value{font-size:1.36rem;font-weight:500;letter-spacing:-.02em;margin-bottom:4px}
.kpi-label{font-size:.68rem;font-weight:500;color:var(--text2);text-transform:uppercase;letter-spacing:.05em}
.kpi-ref{margin-top:5px;font-size:12px;line-height:1.25;color:rgba(6,22,43,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-transform:none;letter-spacing:0}
.summary-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}
.summary-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}
.summary-row:last-child{border-bottom:none;padding-top:10px;margin-top:4px}
.summary-total{font-size:1.04rem;font-weight:600;letter-spacing:-.01em}

.side-panel{position:fixed;top:60px;right:16px;width:min(92vw,440px);max-height:min(82vh,760px);overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:0 18px 48px rgba(24,37,44,.14);z-index:150;display:none}
.side-panel.open{display:flex;flex-direction:column}
.panel-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface);position:sticky;top:0;z-index:2}
.panel-scroll{padding:16px;overflow:auto}
.panel-empty{padding:24px;text-align:center;color:var(--text4);font-size:.87rem}
.notif-item{padding:12px 16px;border-bottom:1px solid var(--border)}
.notif-item:last-child{border-bottom:none}
.notif-item-title{font-size:.87rem;font-weight:500;margin-bottom:3px}
.notif-item-body{font-size:.81rem;color:var(--text2);line-height:1.4}
.notif-item-time{font-size:.68rem;color:var(--text4);margin-top:4px}

.msg-thread{display:flex;flex-direction:column;gap:10px;padding:12px 16px;overflow:auto;flex:1}
.msg-bubble{max-width:88%;padding:10px 13px;border-radius:14px;font-size:.87rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.msg-bubble.mine{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.msg-bubble.other{background:var(--surface2);color:var(--text);align-self:flex-start;border-bottom-left-radius:4px}
.msg-meta{font-size:.68rem;opacity:.72;margin-top:4px}
.msg-input-row{padding:10px 16px;border-top:1px solid var(--border);display:flex;gap:8px;background:var(--surface)}
.msg-input-row input{flex:1;padding:8px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:20px;font-size:.87rem;color:var(--text)}
.msg-send-btn{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.message-filter-bar{padding:0 16px 8px}
.suggestions-box{position:sticky;bottom:58px;margin:0 16px 8px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
.suggestion-item{padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer}
.suggestion-item:last-child{border-bottom:none}
.hashtag-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--surface2);font-size:.75rem}

#landingPage,#loginScreen,#waitingScreen,#forgotScreen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;background:var(--bg);gap:16px}
.landing-shell{width:100%;max-width:var(--content-max-desktop);margin:0 auto;padding:14px}
.landing-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.landing-hero{max-width:820px;margin:0 auto 18px}
.landing-actions{display:flex;gap:10px;flex-wrap:wrap}
.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.landing-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.landing-grid-3 .card{padding:14px 12px}
.landing-grid-3 .t-heading{font-size:.84rem}
.landing-grid-3 .t-small{font-size:.74rem;line-height:1.35}
.landing-tool{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,480px);gap:18px;align-items:stretch}
.landing-copy{padding:28px 4px;display:flex;flex-direction:column;justify-content:center;min-height:360px}
.landing-preview{margin-bottom:0!important;display:flex;flex-direction:column;gap:14px;min-height:360px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,251,252,.92))!important}
.landing-preview-total{font-size:1.72rem;font-weight:650;line-height:1.1;color:var(--text)}
.landing-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.landing-preview-grid div,.landing-preview-list div{border:1px solid rgba(6,22,43,.06);border-radius:16px;background:rgba(255,255,255,.72);padding:12px}
.landing-preview-grid span,.landing-preview-list span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.landing-preview-grid strong,.landing-preview-list strong{font-size:15px;color:var(--text)}
.landing-preview-list{display:flex;flex-direction:column;gap:8px;margin-top:auto}
.login-logo{text-align:center}
.login-title{font-size:1.75rem;color:var(--accent);margin-top:12px;font-weight:300;letter-spacing:-.01em}
.login-sub{font-size:.875rem;color:var(--text3);margin-top:4px;font-weight:300}
.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:100%;max-width:440px;box-shadow:var(--shadow-lg)}
.auth-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:20px}
.auth-tab{flex:1;padding:10px 8px;font-size:.93rem;font-weight:500;color:var(--text);border-bottom:2px solid transparent;cursor:pointer;opacity:.72}
.auth-tab.active{color:var(--accent-strong);border-bottom-color:var(--accent);opacity:1;background:color-mix(in srgb,var(--accent-soft) 70%, white)}
.role-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.role-selector-2{grid-template-columns:1fr 1fr}
.role-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);cursor:pointer;transition:var(--transition);text-align:center}
.role-btn.active{border-color:var(--accent);background:var(--accent-soft)}
.role-icon{font-size:1.2rem;margin-bottom:4px}
.role-name{font-size:.8rem;font-weight:500}
.role-desc{font-size:.66rem;color:var(--text2);margin-top:2px}

.status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.status-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:.81rem;font-weight:500}
.status-credito{background:var(--success-soft);color:var(--success)}
.status-debito{background:var(--danger-soft);color:var(--danger)}
.status-pari{background:var(--surface2);color:var(--text2)}
.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}

.settings-shell{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:14px;align-items:start}
.settings-menu,.settings-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.settings-menu{padding:8px;position:sticky;top:72px;z-index:0}
.settings-menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:12px;color:var(--text);font-size:.92rem}
.settings-menu-item.active,.settings-menu-item:hover,.settings-menu-item:active{background:var(--accent-soft);color:var(--accent-strong);border:1px solid color-mix(in srgb,var(--accent) 26%, var(--border));box-shadow:0 6px 16px rgba(6,22,43,.06)}
.settings-content{min-height:320px;overflow:hidden;position:relative;z-index:1}
.settings-subheader{position:sticky;top:0;background:var(--surface);z-index:5;padding:14px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap}
.settings-subheader.ios-backbar{justify-content:flex-start}
.settings-subheader .t-heading{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.settings-body{padding:16px;max-height:none;overflow:auto;overflow-x:hidden}
.ios-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;min-width:0}
.ios-cell{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface);transition:var(--transition);width:100%}
.ios-cell:last-child{border-bottom:none}
.ios-cell:active{background:var(--surface2)}
.ios-cell-title{font-size:.94rem;font-weight:500;word-break:break-word}
.ios-cell-sub{font-size:.78rem;color:var(--text3);margin-top:2px;overflow-wrap:anywhere}
.tx-detail-cell{align-items:center}
.tx-detail-main{flex:1;min-width:0}
.tx-detail-line{display:flex;gap:8px;align-items:flex-start;margin-top:4px;font-size:.76rem;color:var(--text3);line-height:1.35}
.tx-detail-label{min-width:84px;font-weight:500;color:var(--text2)}
.tx-detail-value{flex:1;min-width:0;overflow-wrap:anywhere}
.tx-detail-right{align-self:center;min-width:150px;text-align:right}
.ios-chevron{color:var(--text4);flex-shrink:0}

.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar-day-head,.calendar-day{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:.85rem}
.calendar-day-head{font-size:.72rem;color:var(--text4)}
.calendar-day{background:var(--surface2);cursor:pointer;position:relative}
.calendar-day.has-events{font-weight:500;border:1px solid var(--accent);color:var(--accent)}
.calendar-day.muted{opacity:.35}
.calendar-dot{position:absolute;bottom:6px;width:6px;height:6px;border-radius:50%;background:var(--accent)}

.back-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--surface2);border:1px solid var(--border);font-size:.96rem;color:var(--text);box-shadow:0 2px 8px rgba(6,22,43,.04)}
.ios-back-arrow{font-size:1.7rem;line-height:1;margin-right:2px;color:var(--text)}
.ios-back-chip{font-weight:500}
.active-state:active,.card:active,.kpi-clickable:active,.list-item:active,.full-row-btn:active{background:color-mix(in srgb,var(--surface2) 72%,transparent)}

.tab-bar{display:flex;gap:6px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:20px;margin-bottom:18px;box-shadow:var(--shadow)}
.tab-btn{flex:1;padding:12px 14px;font-size:.84rem;font-weight:500;color:var(--text);border:none;border-radius:16px;background:transparent;cursor:pointer;transition:var(--transition);opacity:.78}
.tab-btn.active{color:var(--accent-strong);opacity:1;background:color-mix(in srgb,var(--accent-soft) 78%, white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%, transparent),0 6px 16px rgba(6,22,43,.05)}
.period-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-12{margin-bottom:12px}.text-right{text-align:right}
.empty-title{font-size:.96rem;font-weight:500;margin-bottom:4px}
.empty-sub{font-size:.82rem;color:var(--text3);line-height:1.45}
.micro-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:var(--surface2);font-size:.68rem;font-weight:500;color:var(--text3)}
.amount-stack{min-width:132px;text-align:right}
.amount-stack .inline-row{justify-content:flex-end}
.full-row-btn{width:100%;background:transparent;border:none;text-align:left}
.just-updated{outline:2px solid color-mix(in srgb,var(--accent) 50%, transparent);background:color-mix(in srgb,var(--accent-soft) 56%, transparent)!important;transition:background .25s ease, outline .25s ease}
.settings-menu-item .ios-chevron,.full-row-btn .ios-chevron,.ios-cell .ios-chevron{flex-shrink:0}
.truncate-scroll{max-width:180px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.panel-empty .empty-title{margin-bottom:6px}
.ios-cell .inline-row{flex-wrap:wrap;justify-content:flex-end;gap:8px}
.zen-card{background:linear-gradient(135deg,#ffffff 0%, #eef4f7 100%);border:1px solid rgba(96,125,139,.16);box-shadow:0 14px 30px rgba(96,125,139,.10),0 2px 10px rgba(24,37,44,.03)}
.zen-card{padding:20px 18px 16px}
.zen-card-label{margin-bottom:14px}.dashboard-section-label{margin-top:8px}
.zen-headline{font-size:1.42rem;font-weight:500;letter-spacing:0;line-height:1.1;margin-bottom:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zen-rows{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.zen-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 0}
.zen-row-label,.zen-action-label{font-size:.84rem;font-weight:400;color:var(--text2)}
.zen-row-value{font-size:1rem;font-weight:500;letter-spacing:-.015em;text-align:right}
.zen-action-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.zen-action-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid rgba(217,226,236,.95);background:transparent;text-align:left;transition:var(--transition)}
.zen-action-row:last-child{padding-bottom:6px}
.zen-action-row:hover,.zen-action-row:active{color:var(--accent-strong)}
.zen-action-right{display:inline-flex;align-items:center;gap:10px;justify-content:flex-end}
.zen-arrow{font-size:1rem;color:var(--text4)}
.zen-cta{width:100%;margin-top:14px;padding-top:14px;border-top:1px solid rgba(217,226,236,.95);font-size:.8rem;font-weight:500;color:var(--accent-strong);display:flex;align-items:center;justify-content:flex-start;background:transparent;text-align:left}
.zen-cta.is-empty{color:var(--text4);cursor:default}
.movimenti-focus-card{margin-bottom:14px}
.movimenti-focus-row{align-items:flex-start;gap:12px}
.dashboard-kpi-grid .kpi-box:first-child{background:linear-gradient(135deg,#ffffff 0%, #f8fbfc 100%)}
.history-toolbar{align-items:center;gap:12px}
.history-toolbar .inline-tight{gap:6px}
.history-date{max-width:140px;padding:9px 12px}
.property-kpi-grid{gap:12px;margin-bottom:16px}
.property-kpi-grid .kpi-box{padding:16px 14px}
.settings-content,.settings-menu{box-shadow:0 10px 28px rgba(6,22,43,.05)}
.active-soft{background:var(--surface2)}
.search-result-tag{font-size:.72rem;color:var(--text3)}
.main-content::-webkit-scrollbar,.modal-body::-webkit-scrollbar,.panel-scroll::-webkit-scrollbar{width:6px}
.main-content::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb,.panel-scroll::-webkit-scrollbar-thumb{background:#d7e0e4;border-radius:999px}
.storico-voice-list{padding-top:4px;padding-bottom:4px}
.storico-row{border-bottom:1px solid var(--border);padding:14px 0;cursor:pointer}
.storico-row:last-child{border-bottom:none}
.storico-row .inline-row{justify-content:flex-end;flex-wrap:wrap}
.storico-row .btn{position:relative;z-index:2}
.search-results .ios-list{border:none}
.search-results .ios-cell{border-radius:12px;margin-bottom:8px;border:1px solid var(--border)}
.profile-panel .panel-scroll{padding:16px}
.side-panel#profilePanel{z-index:170}
.modal-overlay#searchModal{z-index:230}
.search-results{min-height:120px}
.form-hint#immRoomHint{margin-top:6px;color:var(--text3)}

.settings-stack,.settings-screen{width:100%;min-width:0}
.settings-screen{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.settings-stack-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}
.settings-stack-header .t-heading{text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-stack-header .t-heading{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 24%, var(--border));color:var(--accent-strong);font-weight:600;box-shadow:0 4px 12px rgba(6,22,43,.06)}
.settings-subheader{background:color-mix(in srgb,var(--surface) 96%, white);}
.settings-menu-item{border:1px solid transparent;transition:var(--transition)}
.ios-cell-title,.ios-cell-sub,.list-item-sub,.notif-item-body,.tx-detail-line,.empty-sub,.micro-badge,.search-result-tag,.form-hint,#immRoomHint,.role-desc,.login-sub,.settings-property-stat-label,.section-label,.kpi-label,.saldo-meta-value,.saldo-meta-label,.status-pari,.badge-neutral,.t-muted,.nav-item,.hdr-btn,.form-label,.toggle-btn,.btn-ghost,.list-item-title,.list-item-right,.logo-text,.logo-text .satori,.logo-text .home-w,.zen-row-label,.zen-action-label,.calendar-day-head,.ios-chevron,.zen-arrow,.notif-item-time,.panel-empty,.accounting-choice-title,.accounting-choice-sub,.tx-person-name,.datepicker-weekdays div{color:var(--text)!important}
.ios-chevron,.zen-arrow,.notif-item-time,.panel-empty,.calendar-day-head,.saldo-meta-label,.accounting-choice-sub{opacity:.62}
input::placeholder,textarea::placeholder{color:var(--text)!important;opacity:.44}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%2306162B' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}
.settings-subheader .back-chip:hover,.settings-subheader .back-chip:active{background:var(--accent-soft)}
.settings-menu-item,.tab-btn,.auth-tab,.sort-chip{position:relative}
.settings-menu-item.active::before,.auth-tab.active::before,.sort-chip.active::before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%, transparent);pointer-events:none}
.btn-secondary{border:1px solid var(--border)}
.btn-secondary:hover,.btn-secondary:active{background:var(--accent-soft);color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 16%, var(--border))}
.hdr-btn,.nav-item,.icon-btn,.toggle-btn,.role-btn,.form-input,.form-select,.form-textarea,.multi-paganti,.quota-box,.scroll-box,.summary-bar,.ios-list,.settings-screen,.settings-menu,.settings-content,.conguaglio-card,.conguaglio-stat{border-color:var(--border)}
.summary-bar,.settings-screen,.settings-menu,.settings-content,.ios-list,.conguaglio-card,.conguaglio-stat{background:var(--surface)}
.nav-item.active{color:var(--accent-strong);background:color-mix(in srgb,var(--accent-soft) 86%,white);box-shadow:0 4px 12px rgba(6,22,43,.10)}
.hdr-btn:hover,.hdr-btn:active{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--border)}
.toggle-btn.active,.role-btn.active{background:var(--accent-soft);color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 28%, var(--border))}

.stack-spacer{width:44px;height:1px}
.settings-body .ios-list,.settings-body .card,.settings-body .status-row,.settings-body .section-label{width:100%;min-width:0}
.settings-body .ios-cell{width:100%;align-items:center}
.settings-body .ios-cell>div:first-child{min-width:0;flex:1}
.settings-body .inline-row .btn-sm{white-space:nowrap}
.icon-btn{width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--surface2);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text2)}
.icon-btn:hover,.icon-btn:active{background:var(--accent-soft)}
.icon-btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%, var(--border))}
.icon-btn-primary{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%, var(--border))}
.settings-toolbar-wrap{align-items:flex-start;flex-wrap:wrap}
.settings-property-stack{display:flex;flex-direction:column;gap:14px}
.settings-property-card{padding:18px}
.settings-property-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.settings-property-main{min-width:0}
.settings-property-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.settings-property-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.settings-property-stat{background:linear-gradient(180deg,#ffffff 0%, #f6f9fc 100%);border:1px solid rgba(215,224,228,.9);border-radius:16px;padding:12px}
.settings-property-stat-label{font-size:.68rem;font-weight:500;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.settings-property-stat-value{font-size:1.02rem;font-weight:500;letter-spacing:-.01em}
.settings-property-list{margin-bottom:12px}
.settings-property-cell{align-items:flex-start!important}
.settings-property-footer{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

@media (min-width:768px){
  .app-wrapper{max-width:var(--content-max-tablet)}
  .bottom-nav{max-width:var(--content-max-tablet)}
  .app-header{padding:14px 20px}
  .main-content{padding:24px 20px 120px}
  .card{padding:20px}
  .kpi-grid{grid-template-columns:repeat(3,1fr)}
  .form-row{grid-template-columns:1fr 1fr}
  .address-detail-grid{grid-template-columns:1.5fr .7fr .8fr 1fr .6fr 1fr}
  .modal{max-width:680px}
  .modal-large{max-width:860px}
  .list-item{padding:16px 0}
  .landing-shell{padding:18px}
}

@media (min-width:1200px){
  .app-wrapper{max-width:var(--content-max-desktop)}
  .bottom-nav{max-width:var(--content-max-desktop)}
  .app-header{padding:16px 24px}
  .main-content{padding:32px 24px 124px}
  .card{padding:22px}
  .kpi-grid{grid-template-columns:repeat(4,1fr)}
  .list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .settings-shell{grid-template-columns:260px minmax(0,1fr);gap:20px}
  .side-panel{width:min(36vw,500px)}
}

@media(max-width:1024px){
  .settings-shell{grid-template-columns:1fr}
  .settings-menu{display:none}
  .settings-content{width:100%;min-width:0}
  .settings-body{max-height:none}
  .settings-subheader.ios-backbar{align-items:flex-start}
}

@media(max-width:900px){
  .landing-grid-3{grid-template-columns:1fr}
}

@media(max-width:767px){
  .zen-headline{font-size:1.4rem}
  .zen-card{padding:18px 16px 14px}
  .zen-action-row{padding:12px 0}
  .saldo-row-grid{grid-template-columns:48px minmax(140px,1.6fr) minmax(96px,1fr) minmax(88px,.9fr) minmax(120px,1fr) minmax(92px,.9fr);column-gap:10px}
  .saldo-inline-amount{min-width:auto}
  .tx-detail-line{flex-direction:column;gap:2px}
  .tx-detail-label{min-width:0}
  .app-header{grid-template-columns:auto 1fr auto}
  .side-panel{top:0;right:0;left:0;width:auto;max-height:none;height:100vh;border-radius:0}
  .side-panel#profilePanel{top:0;right:0;left:0;width:auto;max-height:none;height:100vh;border-radius:0}
  .modal{max-width:none}
  .landing-header{flex-wrap:wrap}
  .landing-shell{max-width:var(--content-max-mobile);padding:10px}
  .main-content{padding:16px 12px 118px}
  .settings-body{padding:12px}
  .settings-screen{border-radius:18px}
  .settings-stack-header .t-heading{white-space:normal;line-height:1.2}
  .settings-body .ios-cell{padding:14px 12px}
  .settings-body .inline-row,.ios-cell .inline-row{justify-content:flex-start}
  .settings-property-stats{grid-template-columns:1fr 1fr}
  .settings-property-actions,.settings-property-footer{width:100%}
  .ios-cell{padding:12px}
  .ios-cell > .inline-row{width:auto;max-width:100%;flex:0 0 auto;justify-content:flex-end}
  .settings-subheader .t-heading{white-space:normal}
  .form-row{grid-template-columns:1fr}
  .address-detail-grid{grid-template-columns:1fr 1fr}
  .member-invite-grid{grid-template-columns:1fr}
  .member-quote-panel-head{flex-direction:column}
  .member-quote-table-head{display:none}
  .member-quote-line{grid-template-columns:1fr 1fr}
  .member-quote-line .member-quote-person{grid-column:1 / -1}
  .member-quote-input-wrap{flex-direction:column;align-items:stretch;gap:4px}
  .member-quote-input-wrap span{display:block;font-size:.7rem;color:var(--text3);font-weight:500}
}

.profile-left-list .ios-cell{align-items:center}
.profile-left-list .ios-cell-title,.profile-left-list .ios-cell-sub{text-align:left}
.profile-detail-cell{align-items:flex-start!important}
.profile-linked-list .ios-cell{align-items:flex-start}


.invite-code-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:12px 14px;border:1px dashed var(--border2);border-radius:14px;background:var(--surface2)}
.invite-code-text{font-size:1.1rem;font-weight:500;letter-spacing:.12em;color:var(--accent-strong)}
.waiting-join-box{width:100%;max-width:420px}
.invite-link-row{display:flex;align-items:center;gap:8px}
.invite-link-row .form-input{flex:1}
.profile-actions{justify-content:flex-end}

.history-sort-pills{gap:8px}
.sort-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:.81rem;font-weight:500}
.sort-chip.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%, var(--border));color:var(--accent-strong);box-shadow:0 4px 12px rgba(6,22,43,.10)}
.sort-chip-main{min-width:14px;text-align:center}
.sort-chip-arrow{font-size:.82rem;line-height:1}
.sort-chip-icon{width:38px;min-width:38px;justify-content:center;padding:7px 8px!important}
.profile-actions{justify-content:flex-end}
.profile-left-list .section-label,.profile-left-list .ios-cell-sub{display:block}
@media(max-width:767px){.history-toolbar{align-items:flex-start;flex-direction:column}.history-date{max-width:none;width:100%}}

.conguaglio-card{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--surface2);margin-bottom:10px}
.conguaglio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.conguaglio-stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px}
.conguaglio-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}
.conguaglio-row:last-child{border-bottom:none}

.history-filters{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.history-category{min-width:170px;max-width:220px}
#partUserLookupResult .banner{margin-top:6px}


.toggle-btn.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none;}


.form-date-input{cursor:pointer;background-image:linear-gradient(180deg,#ffffff 0%, #f6f9fc 100%)}
.form-date-input[readonly]{caret-color:transparent}
.status-indicator{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:.72rem;font-weight:500;white-space:nowrap}
.status-indicator .status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:currentColor}
.status-pari{background:var(--surface2);color:var(--text2)}
.status-credito{background:var(--success-soft);color:var(--success)}
.status-debito{background:var(--danger-soft);color:var(--danger)}
.settings-toolbar-wrap{align-items:flex-start;gap:12px}
.settings-toolbar-wrap .inline-row{flex-wrap:wrap;justify-content:flex-end}
.datepicker-shell{display:flex;flex-direction:column;gap:12px}
.datepicker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.datepicker-weekdays,.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.datepicker-weekdays div{font-size:.72rem;color:var(--text3);text-align:center;padding-bottom:2px}
.datepicker-day{min-height:42px;border-radius:12px;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:.88rem;font-weight:500;transition:var(--transition)}
.datepicker-day:hover,.datepicker-day:active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%, var(--border))}
.datepicker-day.is-selected{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 8px 18px rgba(79,113,130,.22)}
.datepicker-day.is-today{outline:2px solid color-mix(in srgb,var(--accent) 45%, transparent);outline-offset:1px}
.datepicker-day.is-empty{visibility:hidden;pointer-events:none}

.kpi-box-matured{background:linear-gradient(180deg,#ffffff 0%, #f8fbfc 100%);border:1px solid color-mix(in srgb,var(--accent) 22%, var(--border));box-shadow:0 0 0 1px rgba(96,125,139,.05),0 6px 18px rgba(24,37,44,.04)}
.dashboard-kpi-grid-owner .kpi-box-matured .kpi-label{color:var(--accent-strong)}
.property-kpi-grid{grid-template-columns:1fr 1fr}
@media (min-width:680px){.dashboard-kpi-grid-owner{grid-template-columns:repeat(4,1fr)}}


.accounting-choice-list{display:grid;gap:8px}
.accounting-choice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface2);cursor:pointer}
.accounting-choice input[type=radio]{width:18px;height:18px;accent-color:var(--accent);margin-top:2px;pointer-events:none}
.accounting-choice.selected{border-color:var(--accent);background:var(--surface)}
.accounting-choice-title{font-size:.88rem;font-weight:600;color:var(--text2)}
.accounting-choice-sub{font-size:.76rem;color:var(--text4);line-height:1.35;margin-top:2px}
.tx-people-row{align-items:start}
.quota-preview-row{align-items:center}
.quota-preview-row .form-input{width:90px}


.tx-modal-body{display:grid;gap:14px}
.tx-section-card{border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,#ffffff 0%, #f8fbfd 100%);padding:14px 14px 12px}
.tx-section-card .form-group:last-child{margin-bottom:0}
.tx-primary-grid{display:grid;grid-template-columns:1fr;gap:10px}
.tx-span-2{grid-column:1/-1}
.tx-people-layout,.tx-bottom-stack{display:grid;grid-template-columns:1fr;gap:14px}
.tx-person-check{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}
.tx-person-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin-top:2px}
.tx-person-meta{display:flex;flex-direction:column;min-width:0;gap:2px}
.tx-person-name{display:block;font-weight:500;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-inline-input{display:flex;align-items:center;gap:6px;min-width:118px}
.tx-inline-input .form-input{min-width:0;text-align:right}
.tx-percent-input{min-width:110px}
.tx-payer-row,.quota-preview-row{justify-content:space-between;align-items:center}
.tx-payer-row .form-input,.quota-preview-row .form-input{width:84px}
.accounting-choice-list{grid-template-columns:1fr}
.accounting-choice{height:100%}
.accounting-choice.selected{box-shadow:0 0 0 1px rgba(96,125,139,.07),0 10px 20px rgba(24,37,44,.04)}

#txConguaglioFields .quota-box{max-height:260px}
@media (min-width:768px){
  .tx-primary-grid{grid-template-columns:1.2fr 1fr}
  .tx-people-layout{grid-template-columns:1fr 1fr}
  .tx-bottom-stack{grid-template-columns:1fr}
  .accounting-choice-list{grid-template-columns:repeat(3, minmax(0, 1fr))}
}
@media(max-width:640px){
  .saldo-row-grid{grid-template-columns:48px minmax(0,1fr) auto;row-gap:8px;align-items:start}
  .saldo-col-role,.saldo-col-quota,.saldo-col-state{grid-column:2 / 3}
  .saldo-col-amount{grid-column:3 / 4;grid-row:1 / span 2;align-self:center}
  .saldo-meta-label{display:none}
  .saldo-col-role .saldo-meta-value,.saldo-col-quota .saldo-meta-value{font-size:.8rem;color:var(--text3)}
}

@media(max-width:767px){
  .tx-section-card{padding:12px}

  .tx-person-name{white-space:normal}
}

.bulk-quote-row{align-items:center;gap:10px}
.bulk-quote-input{width:92px;text-align:right}
.bulk-quote-col-head{width:92px;text-align:right}
.quota-total-ok{font-weight:800;color:var(--success)}
.quota-total-error{font-weight:800;color:var(--danger)}
.quota-row-head{padding-bottom:4px;border-bottom:1px solid var(--border);border-radius:0}


/* Settings left alignment */
.settings-body,
.settings-body .ios-list,
.settings-body .ios-cell,
.settings-body .ios-cell > div:first-child,
.settings-body .ios-cell-title,
.settings-body .ios-cell-sub,
.settings-body .section-label,
.settings-body .t-small,
.settings-body .t-muted{
  text-align:left;
}
.settings-stack-header{
  justify-items:start;
}
.settings-stack-header .t-heading{
  text-align:left;
  justify-self:start;
}
.settings-body-root .ios-cell{
  justify-content:flex-start;
}
.settings-body-root .ios-chevron{
  margin-left:auto;
}

/* Saldi without quota column */
.list-item-saldo.saldo-row-no-quota .saldo-row-grid{
  grid-template-columns:56px minmax(180px,1.3fr) minmax(120px,.9fr) minmax(140px,1fr) minmax(100px,.8fr);
}
@media(max-width:640px){
  .list-item-saldo.saldo-row-no-quota .saldo-row-grid{
    grid-template-columns:48px minmax(0,1fr) auto;
  }
  .list-item-saldo.saldo-row-no-quota .saldo-col-role,
  .list-item-saldo.saldo-row-no-quota .saldo-col-state{
    grid-column:2 / 3;
  }
  .list-item-saldo.saldo-row-no-quota .saldo-col-amount{
    grid-column:3 / 4;
    grid-row:1 / span 2;
    align-self:center;
  }
  .list-item-saldo.saldo-row-no-quota .saldo-col-role .saldo-meta-value{
    font-size:.8rem;
    color:var(--text3);
  }
}

.inline-readonly{display:flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface2);color:var(--text);font-weight:600}.tx-settlement-row{align-items:center}.tx-settlement-row .tx-inline-input{min-width:128px}.tx-section-card .toggle-group{flex-wrap:wrap}.hidden{display:none !important;}


.inline-readonly{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);min-height:44px;display:flex;align-items:center;}


.settings-accordion{border:1px solid var(--line);border-radius:18px;background:var(--card);margin:0 0 14px 0;overflow:hidden}
.settings-accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;font-weight:700}
.settings-accordion summary::-webkit-details-marker{display:none}
.settings-accordion summary::after{content:'›';font-size:18px;color:var(--muted);transform:rotate(90deg);transition:transform .18s ease}
.settings-accordion:not([open]) summary::after{transform:rotate(0deg)}
.settings-accordion-body{padding:0 14px 14px}
.settings-voice-actions{flex-wrap:wrap;justify-content:flex-end}
.settings-voice-head,.settings-annualita-row{align-items:flex-start}
.settings-voice-head>div:first-child,
.settings-annualita-row>div:first-child{
  min-width:0;
  overflow-wrap:anywhere;
}
.settings-voice-actions{
  max-width:100%;
}
.settings-voice-actions .btn{
  min-width:0;
}
.btn-danger-soft{color:var(--danger);border-color:rgba(220,38,38,.18);background:rgba(220,38,38,.06)}
.quota-row-voce{align-items:center;gap:10px}
.quota-voice-input{width:96px;text-align:right}

/* Step 3A */
.settings-annualita-row { align-items:flex-start; }
.settings-annualita-row .settings-voice-actions { flex-wrap:wrap; justify-content:flex-end; }
#txVoceSelectionDetail { max-height: 120px; overflow:auto; }
#txVoceSelectionDetail .ios-cell-sub { padding:2px 0; border-bottom:1px solid rgba(0,0,0,.04); }
#txVoceSelectionDetail .ios-cell-sub:last-child { border-bottom:none; }


/* neutral light background override */
body,.app-wrapper,#landingPage,#loginScreen,#waitingScreen,#forgotScreen{background:var(--bg);}
.card,.kpi-box,.summary-bar,.settings-screen,.settings-menu,.settings-content,.ios-list,.ios-cell,.conguaglio-card,.conguaglio-stat,.modal,.login-card,.side-panel{background:var(--surface);}


/* Transaction allocation redesign */
.tx-allocation-card{padding:16px 16px 12px;border-radius:24px}
.tx-allocation-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.tx-allocation-top .form-hint{display:none}
.tx-allocation-top .form-label{margin:0}
.tx-allocation-grid-head{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(220px,1fr) minmax(300px,1.15fr);gap:18px;padding:0 12px 10px;color:var(--text2);font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.tx-allocation-grid{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:20px;background:var(--surface2);overflow:hidden}
.tx-allocation-row{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(220px,1fr) minmax(300px,1.15fr);gap:18px;align-items:start;padding:16px 18px;border-bottom:1px solid var(--border)}
.tx-allocation-row:last-child{border-bottom:none}
.tx-allocation-person,.tx-allocation-pay,.tx-allocation-share{min-width:0}
.tx-allocation-pay,.tx-allocation-share,.tx-field-stack{display:flex;flex-direction:column;gap:8px}
.tx-field-label{font-size:.76rem;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.02em;min-height:18px}
.tx-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.tx-pay-toggle{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--text);min-height:24px}
.tx-pay-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin:0}
.tx-fixed-input{width:100%;max-width:210px}
.tx-fixed-input .form-input{width:100%;min-width:0;text-align:right}
.tx-inline-input{display:flex;align-items:center;gap:6px;min-width:0}
.tx-inline-input .form-input{min-width:0;text-align:right}
.tx-allocation-share .tx-share-euro-input,.tx-allocation-share .tx-percent-input,.tx-allocation-pay .tx-inline-input{max-width:210px}
.tx-allocation-share .t-small,.tx-allocation-pay .t-small{line-height:1.25}
@media (max-width: 860px){
  .tx-allocation-top{flex-direction:column;align-items:flex-start}
  .tx-allocation-grid-head{display:none}
  .tx-allocation-grid{gap:0;background:transparent;border:none}
  .tx-allocation-row{grid-template-columns:1fr;gap:12px;padding:14px 0;border-bottom:none;background:var(--surface2);border:1px solid var(--border);border-radius:18px;margin-bottom:10px}
  .tx-allocation-row:last-child{margin-bottom:0}
  .tx-allocation-person,.tx-allocation-pay,.tx-allocation-share{padding:0 14px}
  .tx-share-grid{grid-template-columns:1fr}
}
.tx-segmented-control,.segmented-control,.header-tabs,.subtabs{border-radius:18px;}


.history-toolbar-card{display:flex;flex-direction:column;gap:12px}
.history-toolbar-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:16px;align-items:start}
.history-filter-block{display:flex;flex-direction:column;gap:8px}
.history-filter-block-main,.history-filter-block-period{min-width:0}
.history-filter-label{font-size:.74rem;font-weight:700;letter-spacing:.02em;color:var(--text2)}
.tx-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.tx-detail-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.tx-detail-section-title{font-size:.74rem;font-weight:700;color:var(--text2);margin-bottom:6px}
.tx-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.movimenti-focus-inline{margin:8px 2px 10px}
@media(max-width:767px){.tx-detail-head{flex-direction:column}.tx-detail-actions .btn{width:100%}}

@media (max-width: 900px){.history-toolbar-top{grid-template-columns:1fr}}


.history-multi-select{position:relative;min-width:220px;flex:1 1 220px}
.history-multi-select summary{list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:var(--card);font-size:.9rem;min-height:48px;display:flex;align-items:center}
.history-multi-select summary::-webkit-details-marker{display:none}
.history-multi-select[open]{z-index:40}.history-multi-select[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 8px 20px rgba(0,0,0,.08)}
.history-multi-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:100%;max-height:260px;overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:8px;box-shadow:0 16px 32px rgba(0,0,0,.12)}
.history-check-row{display:flex;gap:8px;align-items:flex-start;padding:8px 6px;font-size:.9rem}
.history-check-row + .history-check-row{border-top:1px solid var(--border)}
.storico-row .list-item-sub{display:block;line-height:1.35;min-height:2.2em}
.storico-row-actions{align-items:center}

.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 4px}
.history-filters{display:flex;flex-wrap:wrap;gap:12px}
.history-filter-block-main .history-filters{align-items:stretch}
.history-filter-block-period .history-filters{align-items:center}

.history-multi-menu{display:flex;flex-direction:column;gap:0}
.history-filter-actions{display:flex;justify-content:space-between;gap:8px;padding:4px 4px 10px 4px;position:sticky;top:0;background:var(--card);z-index:2;border-bottom:1px solid var(--border);margin-bottom:4px}
.history-filter-reset[disabled]{opacity:.45;pointer-events:none}


/* Refactor strutturale: dettaglio movimento unificato */
.movement-detail-unified{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid rgba(0,12,41,.08);border-radius:18px;background:#fff}
.detail-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.detail-title{font-weight:700;font-size:16px;line-height:1.3;color:#000c29}
.detail-subtitle{margin-top:6px;font-size:13px;line-height:1.45;color:rgba(0,12,41,.65)}
.detail-metric{font-weight:700;font-size:18px;white-space:nowrap}
.detail-tags{display:flex;flex-wrap:wrap;gap:8px}


.compact-derivation .toggle-group{gap:8px;}
.compact-derivation #txFlowSummary{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.4;}

.period-slider-card{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);border-radius:20px;background:var(--card);} 
.period-slider-head,.period-slider-scale{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.period-slider-label,.period-slider-scale span{font-size:12px;color:var(--muted);} 
.period-slider-value{font-weight:600;color:var(--text);} 
.period-slider-input{width:100%;}

.modal-subtitle{margin-top:4px;font-size:.76rem;color:var(--text3)}
.screen-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px;padding:4px 2px 0}
.screen-kicker{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.screen-title{font-size:1.3rem;font-weight:500;letter-spacing:-.02em}
.screen-subtitle{font-size:.8rem;color:var(--text3);margin-top:4px;max-width:48ch}
.tx-stepper-card{margin-bottom:14px;padding:14px 16px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg,#fff 0%,#f7fafc 100%)}
.tx-stepper-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.tx-stepper-kicker,.tx-stepper-status{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text3)}
.tx-stepper-track{display:flex;gap:8px;flex-wrap:wrap}
.tx-step-chip{padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface2);font-size:.78rem;font-weight:600;color:var(--text2)}
.tx-step-chip.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));color:var(--accent-strong)}
.tx-step-chip.is-complete{background:color-mix(in srgb,var(--success-soft) 75%, white);border-color:color-mix(in srgb,var(--success) 24%, var(--border))}
.tx-step-section{display:none}
.tx-step-section.tx-step-visible{display:block}
.tx-modal-footer{position:sticky;bottom:0;background:var(--surface);z-index:2}
.history-search-card{margin-bottom:12px}
.history-search-row{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}
.history-search-input-wrap{position:relative;flex:1;min-width:240px}
.history-search-input{padding-left:38px}
.history-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:.9rem;color:var(--text3)}
.history-search-meta{font-size:.78rem;color:var(--text3);font-weight:600}
@media (max-width:640px){
  .screen-hero{flex-direction:column}
  .history-search-input-wrap{min-width:100%}
}


/* Premium pass v3 — filtri Movimenti solidi, ordinati e coerenti */
.history-toolbar-card,
.history-search-card{
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 10px 26px rgba(6,22,43,.05), 0 2px 8px rgba(6,22,43,.03);
}
.history-toolbar-top{
  grid-template-columns: minmax(0,1.7fr) minmax(280px,1fr);
  gap: 18px;
}
.history-filter-block{
  min-width: 0;
}
.history-filter-label{
  margin-bottom: 2px;
}
.history-filters{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  align-items: stretch;
}
.history-filter-block-period .history-filters{
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
  align-items: stretch;
}
.history-multi-select{
  min-width: 0;
  width: 100%;
  flex: initial;
}
.history-multi-select summary,
.history-date,
.history-filter-inline-reset{
  min-height: 48px;
}
.history-multi-select summary,
.history-date{
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.history-multi-select summary{
  padding: 12px 14px;
  font-size: .88rem;
  font-weight: 500;
}
.history-multi-select[open] summary{
  background: var(--surface);
}
.history-multi-menu{
  background: var(--surface);
}
.history-summary-text{
  display: block;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.history-date{
  width: 100%;
}
.history-filter-inline-reset{
  align-self: stretch;
  padding-inline: 16px;
  border-radius: 12px;
  background: var(--surface2);
  border: 1px solid var(--border);
}
.history-sort-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 2px;
}
@media (max-width: 900px){
  .history-toolbar-top{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px){
  .history-filters,
  .history-filter-block-period .history-filters{
    grid-template-columns: 1fr;
  }
  .history-filter-inline-reset,
  .history-sort-pills .sort-chip{
    width: 100%;
    justify-content: center;
  }
}


/* Premium pass v4 — stati vuoti/loading/error coerenti */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.state-card{display:flex;align-items:flex-start;gap:14px;padding:18px;border-radius:18px;border:1px solid var(--border);background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);box-shadow:0 10px 24px rgba(6,22,43,.04),0 2px 6px rgba(6,22,43,.03)}
.state-card-compact{padding:16px}
.state-card-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex:0 0 42px;background:var(--surface2);border:1px solid var(--border);font-size:1.05rem;color:var(--accent-strong)}
.state-card-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.state-card-title{font-size:.95rem;font-weight:600;color:var(--text)}
.state-card-subtitle{font-size:.82rem;line-height:1.5;color:rgba(6,22,43,.68)}
.state-card-actions{display:flex;align-items:center;justify-content:flex-start;margin-top:8px}
.state-card-info .state-card-icon{background:var(--info-soft);color:var(--info);border-color:color-mix(in srgb,var(--info) 22%,var(--border))}
.state-card-warning .state-card-icon{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 24%,var(--border))}
.state-card-error .state-card-icon{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 24%,var(--border))}
.state-card-loading .state-card-icon{background:linear-gradient(180deg,#eef3f8 0%,#e5edf4 100%)}
.skeleton-line,.skeleton-orb{position:relative;overflow:hidden;background:#edf2f7}
.skeleton-line::after,.skeleton-orb::after{content:'';position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:skeletonShimmer 1.25s ease-in-out infinite}
.skeleton-line{height:10px;border-radius:999px}
.skeleton-line-lg{width:min(220px,72%)}
.skeleton-line-sm{width:min(160px,48%);margin-top:8px}
.skeleton-orb{border-radius:14px}
@keyframes skeletonShimmer{100%{transform:translateX(100%)}}
.panel-empty{padding:0;background:none;border:none;box-shadow:none}



/* Premium pass v5 deluxe — microinterazioni, transizioni, modali secondari */
:root{
  --deluxe-lift: translateY(-2px);
  --deluxe-press: translateY(0);
  --deluxe-shadow-hover: 0 18px 34px rgba(6,22,43,.08), 0 6px 16px rgba(6,22,43,.06);
}
.main-content > .view,
.settings-screen,
.auth-screen,
#app{
  animation: deluxeFadeIn .28s ease-out;
}
@keyframes deluxeFadeIn{
  from{opacity:.0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}
.btn,
.card,
.ios-cell,
.sort-chip,
.history-multi-select summary,
.history-date,
.history-filter-inline-reset,
.bottom-nav .nav-item,
.settings-menu-item,
.tab-btn,
.auth-tab,
.modal,
.search-result,
.notif-item,
.list-item,
.kpi-box{
  transition: transform .18s ease, box-shadow .22s ease, background-color .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease;
}
.card:hover,
.kpi-box:hover,
.search-result:hover,
.notif-item:hover,
.list-item:hover,
.ios-cell:hover{
  transform: var(--deluxe-lift);
  box-shadow: var(--deluxe-shadow-hover);
}
.card:active,
.kpi-box:active,
.search-result:active,
.notif-item:active,
.list-item:active,
.ios-cell:active{
  transform: var(--deluxe-press);
}
.btn:hover,
.sort-chip:hover,
.history-multi-select summary:hover,
.history-date:hover,
.history-filter-inline-reset:hover,
.bottom-nav .nav-item:hover,
.settings-menu-item:hover,
.tab-btn:hover,
.auth-tab:hover{
  transform: translateY(-1px);
}
.btn:active,
.sort-chip:active,
.history-multi-select summary:active,
.history-date:active,
.history-filter-inline-reset:active,
.bottom-nav .nav-item:active,
.settings-menu-item:active,
.tab-btn:active,
.auth-tab:active{
  transform: translateY(0);
}
input:focus,
select:focus,
textarea:focus,
.history-date:focus,
.history-search-input:focus,
.history-multi-select[open] summary,
.input-like:focus,
.form-control:focus{
  outline: none;
  border-color: color-mix(in srgb,var(--accent) 34%, var(--border));
  box-shadow: 0 0 0 4px rgba(96,125,139,.12), 0 10px 20px rgba(6,22,43,.05);
}
.modal{
  animation: deluxeModalIn .22s ease-out;
}
@keyframes deluxeModalIn{
  from{opacity:0;transform:translateY(10px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.modal-header,
.panel-header{
  backdrop-filter: saturate(1.05) blur(10px);
}
.tx-step-section.tx-step-visible{
  animation: deluxeSectionIn .2s ease-out;
}
@keyframes deluxeSectionIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
.empty-state,.panel-empty,.state-card{
  animation: deluxeFadeIn .24s ease-out;
}
@media (prefers-reduced-motion: reduce){
  .main-content > .view,
  .settings-screen,
  .auth-screen,
  #app,
  .modal,
  .tx-step-section.tx-step-visible,
  .empty-state,.panel-empty,.state-card,
  .btn,.card,.ios-cell,.sort-chip,.history-multi-select summary,.history-date,.history-filter-inline-reset,.bottom-nav .nav-item,.settings-menu-item,.tab-btn,.auth-tab,.search-result,.notif-item,.list-item,.kpi-box{
    animation:none !important;
    transition:none !important;
    transform:none !important;
  }
}


/* Hardening v6 — anti-regressione, accessibilità, motion safety */
.history-toolbar-card,
.history-search-card,
.movimenti-quick-filters,
.sticky-modal-header{
  background: #F9FBFC;
}
.history-toolbar-card{
  position: sticky;
  top: 8px;
  z-index: 5;
}
.btn:focus-visible,
.tab-btn:focus-visible,
.sort-chip:focus-visible,
.history-multi-select summary:focus-visible,
.history-search-input:focus-visible,
.form-input:focus-visible,
.form-select:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline: 2px solid rgba(96,125,139,.34);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}


.reg-hero{background:#f6f8fa;border:1px solid #e3e8ee;border-radius:16px;padding:14px 16px;margin-bottom:14px;}
.reg-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#607d8b;margin-bottom:4px;}
.reg-hero-title{font-size:18px;font-weight:700;color:#000c29;}
.reg-hero-sub{font-size:13px;color:#5f6b7a;margin-top:4px;}
.reg-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.reg-kpi{background:#fff;border:1px solid #e3e8ee;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;}
.reg-kpi-label{font-size:12px;color:#5f6b7a;}
.reg-kpi strong{font-size:18px;color:#000c29;}
.reg-row{align-items:center;gap:10px;}
.reg-row-title{font-weight:600;color:#000c29;}


.flow-hero{padding:14px 16px;border-radius:18px;background:#f6f8fb;border:1px solid rgba(0,12,41,.08);margin-bottom:14px}.flow-hero-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(96,125,139,.12);color:#000c29;font-size:12px;font-weight:700;margin-bottom:8px}.flow-hero-title{font-size:15px;font-weight:700;color:#000c29;line-height:1.35;margin-bottom:4px}.flow-hero-sub{font-size:13px;line-height:1.45;color:rgba(0,12,41,.72)}.flow-hero-settings{margin-top:4px}.flow-hero-annualita,.flow-hero-gestionale{margin-top:2px}
.zen-subcopy{font-size:13px;color:var(--muted);margin-top:4px;margin-bottom:14px}
.period-slider-copy{font-size:13px;color:var(--muted)}
.dashboard-quick-actions{padding:16px 16px 14px}
.quick-actions-grid{display:grid;grid-template-columns:1fr;gap:10px}
.quick-action-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;padding:14px 14px 13px;border:1px solid var(--line);border-radius:18px;background:#fff;color:inherit}
.quick-action-kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.quick-action-title{font-size:15px;font-weight:700;color:var(--text)}
.quick-action-sub{font-size:13px;color:var(--muted);line-height:1.4}
@media (min-width: 860px){.quick-actions-grid{grid-template-columns:repeat(3,1fr)}}


/* Build 9 — Apple HIG-inspired clarity pass */
:root{
  --toolbar-bg: rgba(255,255,255,.82);
  --toolbar-border: rgba(12,28,48,.08);
  --elevated-shadow: 0 16px 36px rgba(12,28,48,.08), 0 6px 18px rgba(12,28,48,.05);
  --control-shadow: 0 6px 14px rgba(12,28,48,.05);
}
.app-wrapper{max-width:var(--content-max-desktop)}
.app-header{
  padding:12px 18px 14px;
  background:var(--toolbar-bg);
  border-bottom:1px solid var(--toolbar-border);
  box-shadow:0 4px 16px rgba(12,28,48,.04);
}
.header-center{justify-content:flex-start}
.header-title-stack{display:flex;flex-direction:column;gap:2px;min-width:0}
.header-kicker{
  font-size:.66rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--text3);
  font-weight:700;
}
.header-screen-title{
  font-size:1.16rem;
  line-height:1.1;
  letter-spacing:-.02em;
  color:var(--text);
  font-weight:650;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.header-screen-subtitle{
  font-size:.76rem;
  color:var(--text3);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hdr-btn,.avatar{
  width:40px;
  height:40px;
  border-radius:14px;
  border:1px solid color-mix(in srgb,var(--accent) 8%, var(--border));
  background:rgba(255,255,255,.74);
  box-shadow:var(--control-shadow);
}
.hdr-btn:hover,.hdr-btn:active{background:#fff}
.main-content{padding:22px 16px 122px}
.main-content > .screen > div{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.card,.kpi-box,.summary-bar,.ios-list,.settings-menu,.settings-content,.side-panel,.login-card,.modal{
  box-shadow:var(--elevated-shadow);
}
.card,.summary-bar,.ios-list,.settings-content,.settings-menu{
  border-color:rgba(12,28,48,.08);
}
.section-label{
  font-size:.7rem;
  letter-spacing:.1em;
  color:var(--text3);
  margin-bottom:12px;
}
.form-input,.form-select,.form-textarea{
  min-height:48px;
  border-radius:14px;
  background:#fbfcfd;
}
.form-input::placeholder,.form-textarea::placeholder{color:#8291a0}
.btn{
  min-height:44px;
  border-radius:14px;
}
.btn-primary{
  box-shadow:0 14px 26px rgba(93,120,134,.18);
}
.tab-bar{
  padding:5px;
  border-radius:18px;
  background:rgba(247,250,252,.96);
  border:1px solid rgba(12,28,48,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.tab-btn{
  min-height:42px;
  border-radius:14px;
  font-weight:600;
}
.tab-btn.active{
  background:#fff;
  box-shadow:0 8px 18px rgba(12,28,48,.08), inset 0 0 0 1px rgba(96,125,139,.14);
}
.ios-list{
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%, #fbfcfd 100%);
}
.ios-cell{
  min-height:60px;
  align-items:center;
}
.ios-cell:hover{background:#fcfdff}
.ios-cell:active{background:#f5f8fb}
.quick-action-card{
  min-height:112px;
  justify-content:center;
  border-radius:20px;
  box-shadow:0 10px 24px rgba(12,28,48,.05);
}
.quick-action-card::after{
  content:'›';
  align-self:flex-end;
  margin-top:auto;
  color:var(--text3);
  font-size:1.1rem;
  line-height:1;
}
.modal-overlay{
  background:rgba(12,28,48,.32);
  backdrop-filter:blur(12px) saturate(1.08);
}
.modal{
  border:1px solid rgba(12,28,48,.08);
  border-bottom:none;
}
.modal-header{
  padding:4px 20px 16px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.82));
}
.modal-title{
  font-size:1.12rem;
  letter-spacing:-.02em;
}
.modal-subtitle{
  font-size:.8rem;
  line-height:1.45;
  color:var(--text3);
}
.panel-header{
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.82));
}
.bottom-nav{
  max-width:min(860px, calc(100% - 20px));
  bottom:10px;
  border:1px solid rgba(12,28,48,.08);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 22px 44px rgba(12,28,48,.12);
  padding:6px;
  padding-bottom:calc(env(safe-area-inset-bottom,0) + 6px);
}
.nav-item{
  border-radius:18px;
  min-height:58px;
  margin:0;
}
.nav-add{padding:0 6px}
.nav-add-btn{
  width:52px;
  height:52px;
  box-shadow:0 16px 32px rgba(93,120,134,.22);
}
.search-results .ios-cell,
.history-toolbar-card,
.history-search-card,
.movimenti-quick-filters,
.settings-subheader,
.tx-stepper-card,
.tx-section-card,
.flow-hero,
.reg-hero{
  border:1px solid rgba(12,28,48,.08);
  box-shadow:var(--elevated-shadow);
}
.settings-subheader,
.history-toolbar-card,
.history-search-card,
.movimenti-quick-filters,
.sticky-modal-header{
  background:linear-gradient(180deg, rgba(250,252,253,.98), rgba(247,250,252,.96));
}
@media (min-width: 900px){
  .app-header{padding:14px 22px 16px}
  .header-screen-title{font-size:1.28rem}
  .header-screen-subtitle{display:block}
  .main-content{padding:26px 20px 134px}
  .modal{
    border-bottom:1px solid rgba(12,28,48,.08);
    border-radius:26px;
    max-height:min(88vh, 900px);
  }
  .modal-overlay{align-items:center}
  .modal-handle{display:none}
  #detailModal.modal-overlay{
    justify-content:flex-end;
    align-items:stretch;
    background:rgba(6,22,43,.16);
    padding:0;
  }
  #detailModal .modal{
    width:min(420px,34vw);
    max-width:none;
    max-height:none;
    height:100vh;
    border-radius:0;
    border-left:1px solid rgba(6,22,43,.10);
    transform:translateX(100%);
  }
  #detailModal.open .modal{transform:translateX(0)}
}
@media (max-width: 760px){
  .header-kicker,.header-screen-subtitle{display:none}
  .header-screen-title{font-size:1rem}
  .app-header{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
  .logo-text{display:none}
  .hdr-btn,.avatar{width:38px;height:38px;border-radius:12px}
  .bottom-nav{left:10px;right:10px;transform:none;max-width:none;width:auto}
}


/* Build 10 — HIG deeper pass: spacing system, lists, sheets, empty states */
:root{
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-7:32px;
  --focus-ring:0 0 0 4px rgba(29,77,122,.14);
}

.main-content{padding:22px 16px 124px}
.card{padding:20px;margin-bottom:16px}
.card-tight{padding:16px 18px}
.section-label{margin-bottom:12px;margin-top:28px}
.card-header{margin-bottom:16px}
.kpi-grid{gap:12px;margin-bottom:16px}
.kpi-box{padding:16px;border-radius:20px}
.summary-bar{padding:18px}
.summary-row{padding:8px 0}

.btn{min-height:44px;padding:11px 18px;border-radius:14px}
.btn-sm{min-height:36px;padding:8px 14px}
.hdr-btn,.avatar{width:40px;height:40px}
.nav-add-btn{width:50px;height:50px}
.form-input,.form-select,.form-textarea{min-height:46px;padding:12px 14px;border-radius:14px}
.form-textarea{min-height:96px}
.toggle-btn{min-height:40px;padding:8px 14px}
.tx-step-chip{min-height:38px;padding:8px 13px}
.sort-chip{min-height:36px}

button:focus-visible,
.btn:focus-visible,
.hdr-btn:focus-visible,
.nav-item:focus-visible,
.nav-add-btn:focus-visible,
.form-input:focus-visible,
.form-select:focus-visible,
.form-textarea:focus-visible,
.toggle-btn:focus-visible,
.sort-chip:focus-visible,
.tx-step-chip:focus-visible,
.settings-menu-item:focus-visible,
.ios-cell:focus-visible,
.back-chip:focus-visible{
  outline:none;
  box-shadow:var(--focus-ring);
}

.app-header{padding:14px 16px;grid-template-columns:auto minmax(0,1fr) auto;gap:14px}
.header-center{justify-content:flex-start}
.header-title-wrap{display:flex;flex-direction:column;gap:2px;min-width:0}
.header-screen-title{font-size:1rem;font-weight:500;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-screen-subtitle{font-size:.75rem;line-height:1.35;color:var(--text4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-search{min-height:42px}

.modal-overlay{background:rgba(6,22,43,.38);padding:16px}
.modal{border-radius:24px 24px 18px 18px;max-height:min(88vh,860px);box-shadow:0 26px 64px rgba(6,22,43,.18),0 8px 20px rgba(6,22,43,.08)}
.modal-handle{width:42px;height:5px;margin:12px auto 14px;background:color-mix(in srgb,var(--border2) 88%, white)}
.modal-header{padding:0 22px 18px}
.modal-title{font-size:1.1rem;letter-spacing:-.02em}
.modal-subtitle{margin-top:6px;font-size:.8rem;line-height:1.45;color:var(--text4)}
.modal-body{padding:22px}
.modal-footer,.tx-modal-footer{padding:0 22px 18px}
.sticky-modal-header{backdrop-filter:blur(12px);background:color-mix(in srgb,var(--surface) 94%, transparent)}

.tx-modal-body{gap:16px}
.tx-step-chip{border-radius:999px;background:linear-gradient(180deg,#fff 0%,#f6f9fb 100%)}
.tx-step-chip.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%, transparent),0 4px 10px rgba(6,22,43,.06)}

.list-item{padding:16px 2px;gap:14px}
.list-item-title{font-size:.95rem;line-height:1.35}
.list-item-sub{margin-top:4px;line-height:1.45;color:var(--text4)}
.list-item-right{min-width:128px}
.ios-list,.settings-menu,.settings-content,.side-panel{border-radius:22px;overflow:hidden}
.ios-cell{padding:16px 18px;min-height:60px}
.ios-cell + .ios-cell{border-top:1px solid rgba(217,226,236,.8)}
.ios-cell-title{font-size:.94rem;font-weight:500;line-height:1.35}
.ios-cell-sub{margin-top:4px;font-size:.8rem;line-height:1.45;color:var(--text4)}
.ios-chevron{font-size:.92rem}

.settings-shell{gap:16px}
.settings-menu{padding:10px;top:78px}
.settings-menu-item{padding:13px 14px;border-radius:14px;min-height:48px;font-weight:500}
.settings-content{min-height:380px;border-radius:22px}
.settings-subheader{padding:16px 18px;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--surface) 96%, transparent)}
.settings-panel-body,.settings-body,.settings-scroll{padding:18px}

.empty-state,.panel-empty,.state-card{
  padding:22px 18px;
  border:1px dashed color-mix(in srgb,var(--border2) 78%, white);
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbfd 100%);
  text-align:left;
}
.empty-title{font-size:1rem;font-weight:500;letter-spacing:-.015em;margin-bottom:6px}
.empty-sub{font-size:.84rem;line-height:1.5;color:var(--text4);max-width:54ch}
.panel-empty .empty-title{margin-bottom:6px}

.badge,.status-indicator,.hashtag-chip{min-height:28px;padding:4px 10px;border-radius:999px}
.status-indicator{font-size:.78rem}
.badge{font-size:.7rem}

.movimenti-quick-filters,.history-sort-pills,.toggle-group{gap:10px}
.back-chip{min-height:38px;padding:8px 12px;border-radius:999px}
.search-result,.notif-item{padding:14px 16px}
.notif-item-title{line-height:1.35}
.notif-item-body{line-height:1.5;color:var(--text4)}

@media (min-width: 768px){
  .app-wrapper,.bottom-nav{max-width:var(--content-max-tablet)}
  .main-content{padding:28px 22px 128px}
  .app-header{padding:16px 22px}
  .card{padding:22px}
  .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .modal-overlay{align-items:center}
  .modal{border-radius:28px;max-width:760px}
  .modal-handle{display:none}
  .settings-shell{grid-template-columns:280px minmax(0,1fr)}
}

@media (min-width: 1100px){
  .app-wrapper,.bottom-nav{max-width:var(--content-max-desktop)}
  .main-content{padding-left:28px;padding-right:28px}
}


/* Fix pack April 21 */
.screen-kicker{display:none}
.history-search-input{padding-left:52px}
.history-search-icon{left:18px;z-index:2;pointer-events:none}
.history-search-input::placeholder{color:var(--text3)}
.history-toolbar-card{gap:10px}
.history-toolbar-top{grid-template-columns:1fr;gap:10px}
.history-filter-block{gap:6px}
.history-filters{gap:8px}
.history-filter-block-main .history-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
.history-filter-block-period .history-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
@media (max-width: 900px){
  .history-filter-block-main .history-filters,
  .history-filter-block-period .history-filters{grid-template-columns:1fr}
}
.history-multi-select summary,.history-date,.history-filter-inline-reset{min-height:44px;padding-top:10px;padding-bottom:10px}
.period-slider-card{position:relative;gap:10px;padding:12px 14px 10px}
.period-slider-track-wrap{position:relative;padding-top:24px}
.period-slider-input{width:100%;margin:0}
.period-slider-bubble{position:absolute;top:0;transform:translateX(-50%);min-width:46px;height:28px;padding:0 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:.76rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(6,22,43,.16);pointer-events:none}
.period-slider-scale{margin-top:2px}
.period-slider-copy,.zen-subcopy{display:none!important}
.detail-close-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;color:var(--danger);font-size:28px;line-height:1;border-radius:999px;cursor:pointer}
.detail-close-btn:hover{background:rgba(220,53,69,.08)}
.modal-header,.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.modal-header .modal-title,.panel-header .t-heading{flex:1;min-width:0}


.header-kicker{display:none!important}
.screen-subtitle{display:none!important}
.period-slider-track-wrap{position:relative;padding-top:36px;padding-bottom:2px}
.period-slider-bubble{top:0;z-index:3}
.period-slider-scale{display:none!important}
.history-search-input-wrap{position:relative;display:flex;flex-direction:column;gap:8px;min-width:240px}
.history-search-input{padding-left:60px}
.history-search-icon{left:22px;z-index:2;pointer-events:none}
.history-search-suggestions{display:flex;gap:8px;flex-wrap:wrap}
.history-search-suggestion{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 12px;font-size:.78rem;color:var(--text);cursor:pointer}
.history-accordion{border:1px solid var(--border);border-radius:16px;background:var(--surface2);overflow:hidden}
.history-accordion>summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:space-between}
.history-accordion>summary::-webkit-details-marker{display:none}
.history-accordion[open]>summary{border-bottom:1px solid var(--border)}
.history-accordion .history-toolbar-top{padding:12px 14px 14px}
.history-filter-block-period .history-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.history-sort-near-results{margin:12px 0 10px}
.property-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 900px){.history-filter-block-period .history-filters{grid-template-columns:1fr 1fr}}
@media (max-width: 640px){.history-filter-block-period .history-filters{grid-template-columns:1fr}}


/* build10 v4 fixes */
.period-slider-card{gap:10px;padding-bottom:22px}
.period-slider-track-wrap{position:relative;padding-top:6px;padding-bottom:34px}
.period-slider-bubble{display:none!important}
.period-slider-ticks{position:absolute;left:0;right:0;bottom:0;height:26px;pointer-events:none}
.period-slider-tick{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted);font-size:11px;font-weight:600}
.period-slider-tick i{width:4px;height:4px;border-radius:999px;background:rgba(0,12,41,.22);display:block}
.period-slider-tick.active i{width:6px;height:6px;background:var(--accent)}
.period-slider-tick em{font-style:normal;white-space:nowrap}
.dashboard-shell .screen-hero{display:none}
.header-screen-title:empty,.header-screen-subtitle:empty{display:none}
.compact-detail-row{align-items:center;justify-content:space-between;min-height:72px}
.compact-detail-row .ios-cell-title{font-size:28px;font-weight:700;line-height:1;color:#000c29}
.compact-detail-row .ios-cell-sub{margin-top:6px;font-size:14px;color:rgba(0,12,41,.62)}
.detail-link-label{font-weight:600;color:rgba(0,12,41,.45)}
.history-search-suggestions{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.history-search-suggestion{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(0,12,41,.08);border-radius:14px;background:#fff;text-align:left}
.history-search-suggestion-main{font-weight:600;color:#000c29}
.history-search-suggestion-sub{font-size:12px;color:rgba(0,12,41,.55)}


/* build10 fix ko v5 */
.header-screen-title,.header-kicker{display:none!important}
.app-header{grid-template-columns:auto 1fr auto}
.period-slider-card{padding:12px 14px 14px}
.period-slider-head{justify-content:flex-start}
.period-slider-main-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:12px;align-items:center}
.period-slider-track-wrap{position:relative;padding:0 0 24px 0}
.period-slider-value-cell{height:40px;border:1px solid var(--border);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text2);box-shadow:0 1px 2px rgba(6,22,43,.04)}
.period-slider-ticks{position:absolute;left:0;right:0;bottom:0;height:20px;pointer-events:none}
.period-slider-tick{font-size:10px;gap:4px}
.period-slider-tick em{font-style:normal;white-space:nowrap}
.period-slider-bubble{display:none!important}
@media (max-width:640px){.period-slider-main-row{grid-template-columns:1fr 78px;gap:10px}.period-slider-value-cell{height:38px;font-size:.95rem}}
.compact-detail-row{min-height:52px;padding-top:10px;padding-bottom:10px}
.compact-detail-main{display:flex;align-items:center;gap:10px;min-width:0}
.compact-detail-amount{font-size:15px;font-weight:700;line-height:1.25;color:#000c29;white-space:nowrap}
.compact-detail-category{font-size:13px;line-height:1.35;color:rgba(0,12,41,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compact-detail-action{margin-left:auto;white-space:nowrap}
.compact-detail-row .ios-cell-title,.compact-detail-row .ios-cell-sub{display:none}
.tx-allocation-card{padding:14px 14px 12px}
.tx-allocation-grid-head{grid-template-columns:minmax(170px,1.1fr) minmax(180px,.95fr) minmax(220px,1fr);gap:12px;padding:0 8px 8px;font-size:.74rem}
.tx-allocation-row{grid-template-columns:minmax(170px,1.1fr) minmax(180px,.95fr) minmax(220px,1fr);gap:12px;padding:12px 14px}
.tx-field-label{font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--text3)}
.tx-person-name{font-size:1rem;font-weight:600;line-height:1.3}
.tx-pay-toggle{display:flex;align-items:center;gap:8px}
.tx-pay-toggle span{font-size:.95rem;font-weight:600;color:var(--text2)}
.tx-inline-input .form-input{height:42px;padding:10px 12px}
.tx-allocation-share .tx-share-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#txAllocationHint{margin-top:10px;font-size:.82rem;line-height:1.45;color:var(--text3)}
@media(max-width:767px){.tx-allocation-grid-head{display:none}.tx-allocation-grid{gap:8px;background:transparent;border:none}.tx-allocation-row{grid-template-columns:1fr;gap:10px;padding:12px;border:1px solid var(--border);border-radius:18px;background:#fff}.tx-allocation-person,.tx-allocation-pay,.tx-allocation-share{padding:0}.tx-allocation-share .tx-share-grid{grid-template-columns:1fr 1fr}.tx-stepper-track{gap:6px}.tx-step-chip{padding:7px 11px;font-size:.76rem}}


/* fix pack v6 */
.screen-loading{display:flex;align-items:center;justify-content:center;min-height:180px}
.loading-spinner{width:28px;height:28px;border-radius:999px;border:3px solid rgba(0,12,41,.12);border-top-color:#2b5c8a;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.header-screen-title,.header-screen-subtitle,.header-title-stack{display:none!important}
.dashboard-shell .app-header{min-height:72px}
.history-scope-row{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 12px}
.history-scope-row .tab-btn{flex:1;max-width:240px}
.history-toolbar-card{overflow:visible}
.history-accordion{overflow:visible}
.history-accordion .history-toolbar-top{display:grid;grid-template-columns:1fr;gap:14px}
.history-filter-block-main,.history-filter-block-period{min-width:0}
.history-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.history-filter-block-main .history-multi-select{flex:1 1 210px;min-width:210px}
.history-filter-block-period .history-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.history-date-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.history-date-row .history-date{flex:1 1 150px;min-width:140px}
.history-filter-inline-reset{align-self:center}
.history-multi-select .multi-select-menu{max-height:240px;overflow:auto}
.compact-detail-row{min-height:44px;padding-top:8px;padding-bottom:8px}
.compact-detail-main{gap:12px}
.compact-detail-amount{font-size:14px}
.compact-detail-category{font-size:14px;color:rgba(0,12,41,.75)}
.detail-link-label{font-size:14px}
.slider-with-output{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:center}
.slider-output-cell{height:48px;border:1px solid var(--border);border-radius:16px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text)}
.slider-ticks{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding:0 6px;color:rgba(0,12,41,.55);font-size:12px}
.slider-tick{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;flex:1}
.slider-tick::before{content:'';width:4px;height:4px;border-radius:999px;background:rgba(0,12,41,.2)}
.tx-stepper-track{justify-content:flex-start}
.tx-step-chip{min-width:0}
.tx-people-layout,.allocation-grid,.ripartizione-grid{overflow:auto}
.tx-allocation-card{padding:16px}
.tx-allocation-card .quota-box{display:flex;flex-direction:column;gap:10px}
.tx-allocation-card .quota-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(150px,.9fr) minmax(210px,1fr);gap:14px;align-items:start;padding:12px 0;border-bottom:1px solid var(--border)}
.tx-allocation-card .quota-row:last-child{border-bottom:0}
.tx-allocation-card .quota-person{min-width:0}
.tx-allocation-card .quota-person .name{font-size:15px;font-weight:600}
.tx-allocation-card .quota-person .role{font-size:13px;color:rgba(0,12,41,.62);margin-top:4px}
.tx-allocation-card .quota-pay,.tx-allocation-card .quota-share{display:flex;flex-direction:column;gap:8px}
.tx-allocation-card .quota-pay .checkbox-row{margin:0}
.tx-allocation-card .form-input{min-width:0}
.compact-stepper{margin-bottom:14px}
@media (max-width: 900px){
  .slider-with-output{grid-template-columns:1fr}
  .history-scope-row{flex-direction:column}
  .history-scope-row .tab-btn{max-width:none;width:100%}
  .tx-allocation-card .quota-row{grid-template-columns:1fr}
}


/* patch v7 */
.slider-with-output-inline{display:grid;grid-template-columns:minmax(0,1fr) 128px;align-items:center;gap:18px}.slider-output-cell-inline{align-self:center;height:72px;display:flex;align-items:center;justify-content:center}.slider-ticks,.slider-tick{display:none !important}.period-slider-card .period-slider-head{margin-bottom:12px}.history-search-card{overflow:visible}.history-search-row{align-items:center}.history-search-input-wrap{min-height:64px}.history-search-input{height:64px}.history-search-suggestions{min-height:0;margin-top:12px;display:flex;flex-direction:column;gap:10px}.history-search-suggestions-empty{display:none}.history-search-suggestion{min-height:68px;justify-content:center}.history-scope-row-spread{display:grid;grid-template-columns:1fr 1fr;gap:12px}.history-scope-row-spread .tab-btn:first-child{text-align:left}.history-scope-row-spread .tab-btn:last-child{text-align:right}.history-toolbar-card .history-accordion:not([open]){background:var(--surface2)}.history-toolbar-card .history-accordion>summary{padding:14px 16px}.history-toolbar-top{padding-top:10px}.storico-row-compact{justify-content:space-between;align-items:center}.storico-left-pack{display:flex;align-items:center;gap:16px;min-width:0}.storico-left-amount{min-width:140px;text-align:left;font-weight:700}.storico-left-main{min-width:0;flex:1}.saldi-accordion-group{display:flex;flex-direction:column;gap:12px}.saldi-accordion .history-toolbar-top{padding:0}.saldi-accordion .card{box-shadow:none;border:none;background:transparent}.saldo-col-quota{display:none !important}.global-search-results{min-height:220px}.global-search-content{min-height:340px}.global-search-body{display:flex;flex-direction:column;gap:14px}.global-search-body .form-group{margin-bottom:0}.compact-detail-row .compact-detail-main{display:grid;grid-template-columns:minmax(128px,180px) minmax(0,1fr);gap:18px;align-items:center}.compact-detail-row .compact-detail-amount{min-width:128px;text-align:left}.compact-detail-row .compact-detail-category{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-detail-row .compact-detail-action{min-width:92px;justify-content:flex-end}.app-header .header-title-wrap,.screen-heading,.screen-title,.screen-subtitle{display:none !important}


/* Build 10 filter redesign */
.history-command-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0 14px}
.history-filter-trigger{min-height:46px;border-radius:16px}
.storico-sheet-overlay{position:fixed;inset:0;background:rgba(15,23,42,.22);backdrop-filter:blur(8px);display:none;align-items:flex-end;justify-content:center;padding:20px;z-index:250}
.storico-sheet-overlay.open{display:flex}
.storico-sheet{width:min(760px,100%);max-height:min(86vh,920px);background:var(--surface);border:1px solid var(--border);border-radius:28px;box-shadow:0 28px 80px rgba(0,12,41,.16);display:flex;flex-direction:column;overflow:hidden}
.storico-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border)}
.storico-sheet-title{font-size:1.15rem;font-weight:700;color:var(--text)}
.storico-sheet-sub{font-size:.86rem;color:var(--text3);margin-top:4px}
.storico-sheet-body{padding:14px 16px;overflow:auto;display:flex;flex-direction:column;gap:12px;background:var(--surface2)}
.storico-sheet-foot{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-top:1px solid var(--border);background:var(--surface)}
.history-filter-section{border:1px solid rgba(0,12,41,.08);border-radius:18px;background:#fff;overflow:hidden}
.history-filter-section>summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:700;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px}
.history-filter-section>summary::-webkit-details-marker{display:none}
.history-filter-summary{font-size:.8rem;font-weight:600;color:var(--text3)}
.history-filter-section[open]>summary{border-bottom:1px solid rgba(0,12,41,.08)}
.history-chip-grid{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px 16px}
.history-chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:10px 14px;font-size:.92rem;color:var(--text);cursor:pointer}
.history-chip.active{background:rgba(96,125,139,.14);border-color:rgba(96,125,139,.36);color:var(--text)}
.history-filter-list{padding:8px 16px 16px;display:flex;flex-direction:column;gap:8px;max-height:240px;overflow:auto}
.history-check-row-sheet{padding:8px 0}
.history-filter-range-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px 12px}
.history-filter-range-grid .form-label{display:flex;flex-direction:column;gap:8px}
.history-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px 16px}
@media (max-width: 720px){
  .history-command-row{align-items:stretch}
  .history-command-row .history-sort-pills{width:100%;overflow:auto;padding-bottom:2px}
  .storico-sheet-overlay{padding:0}
  .storico-sheet{width:100%;max-height:90vh;border-radius:24px 24px 0 0}
  .storico-sheet-foot{position:sticky;bottom:0}
  .history-filter-range-grid,.history-date-row{grid-template-columns:1fr}
}


/* build10 fix v9 */
.period-slider-card .slider-with-output-inline{grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:16px}
.period-slider-card .period-slider-head{margin-bottom:10px}
.slider-output-cell-inline{height:56px;min-height:56px;align-self:center}
.period-slider-card .period-slider-input{margin:0}
.period-slider-card .slider-track-wrap,.period-slider-card .slider-tick-row,.period-slider-card .slider-ticks,.period-slider-card .slider-tick{display:none !important}

.compact-detail-row .compact-detail-main{grid-template-columns:minmax(168px,220px) minmax(0,1fr);gap:20px}
.compact-detail-row .compact-detail-amount{min-width:168px;text-align:right;font-variant-numeric:tabular-nums}
.compact-detail-row .compact-detail-category{text-align:left;padding-left:8px}
.compact-detail-row .compact-detail-action{min-width:96px;justify-content:flex-end}

.history-scope-switch-row{margin-bottom:10px}
.history-scope-switch{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:6px;border:1px solid var(--border);border-radius:24px;background:var(--surface2);width:min(680px,100%)}
.history-scope-switch .tab-btn{border:none;background:transparent;box-shadow:none;border-radius:18px;min-height:52px;font-weight:700}
.history-scope-switch .tab-btn.active{background:var(--surface);box-shadow:0 6px 18px rgba(0,12,41,.08)}
.history-command-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.history-filter-trigger-icon{width:52px;min-width:52px;height:52px;padding:0;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;position:relative}
.filter-funnel-icon{position:relative;display:block;width:18px;height:16px}
.filter-funnel-icon::before{content:'';position:absolute;left:1px;right:1px;top:1px;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:0;border-bottom:9px solid var(--text)}
.filter-funnel-icon::after{content:'';position:absolute;left:7px;top:9px;width:4px;height:6px;background:var(--text);border-radius:0 0 2px 2px}
.history-filter-count{position:absolute;right:4px;top:4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}

.storico-sheet{width:min(820px,100%);max-height:min(92vh,960px)}
.storico-sheet-head{align-items:center}
.storico-sheet-body{padding:16px 18px 20px;gap:14px;background:var(--surface2)}
.history-filter-section{border-radius:20px}
.history-filter-section>summary{padding:16px 18px;align-items:center}
.history-filter-summary-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.history-filter-reset{min-height:34px;padding:0 12px;border-radius:999px}
.history-filter-reset{border:1px solid rgba(6,22,43,.12)!important;background:#fff!important;box-shadow:0 2px 8px rgba(6,22,43,.06)!important;color:var(--text)!important}
.history-chip-grid{padding:10px 18px 18px;gap:12px}
.history-filter-list{padding:6px 18px 18px;gap:10px;max-height:none;overflow:visible}
.history-check-row-sheet{padding:10px 0;min-height:44px}
.history-filter-range-grid{padding:12px 18px 10px}
.history-date-row{padding:0 18px 18px}
.movimenti-period-filters{padding:0 18px 14px}
.movimenti-period-filters .tab-btn{min-height:44px}
.storico-sheet-foot{padding:16px 18px}
.storico-sheet-foot .btn{min-width:120px}

.history-sort-near-results{margin-left:auto}
@media (max-width: 900px){
  .history-command-row{align-items:stretch}
  .history-sort-near-results{margin-left:0;width:100%;justify-content:flex-start;overflow:auto}
  .history-scope-switch{width:100%}
}

.search-results{min-height:320px}
#searchResults .ios-list{display:flex;flex-direction:column;gap:12px}
#searchResults .ios-cell{min-height:84px;align-items:center}
#searchInput{height:64px}

.settings-screen{background:transparent;border:none;box-shadow:none}
.settings-body-root .ios-list{background:var(--surface);border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.settings-body-root .ios-cell{min-height:72px;padding:16px 18px;gap:14px;background:var(--surface)}
.settings-body-root .ios-cell + .ios-cell{border-top:1px solid var(--border)}
.settings-body-root .ios-cell-title{font-size:1.02rem;font-weight:700}
.settings-body-root .ios-cell-sub{font-size:.9rem;color:var(--text3);margin-top:3px}
.settings-subheader{background:transparent;border:none;padding:0 0 12px}

.saldi-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.saldi-immobile-stack{display:flex;flex-direction:column;gap:12px}
.saldi-subsection{display:flex;flex-direction:column;gap:8px}
.saldi-subsection-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}
.saldi-summary-head{padding:16px 16px 0}
.saldi-subsection .card{padding-top:4px}
.saldo-row-grid{grid-template-columns:72px minmax(0,1.5fr) minmax(120px,.9fr) minmax(130px,.9fr) minmax(130px,.9fr);align-items:center}
.saldo-col-amount{justify-self:end;text-align:right}
.saldo-inline-amount{font-variant-numeric:tabular-nums}
@media (max-width: 720px){
  .saldo-row-grid{grid-template-columns:56px minmax(0,1fr);row-gap:10px}
  .saldo-col-role,.saldo-col-state,.saldo-col-amount{grid-column:2}
}


.detail-back-btn{border:none;background:transparent;color:#b94a48;font-weight:600;font-size:15px;cursor:pointer;padding:8px 10px;border-radius:10px;margin-right:8px}
.detail-back-btn:hover{background:rgba(185,74,72,.08)}
.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.modal-header .modal-title{flex:1}
.filter-funnel-icon{width:18px;height:18px;display:inline-block;background:currentColor;clip-path:polygon(0 2%,100% 2%,64% 45%,64% 100%,36% 100%,36% 45%)}
.storico-sheet{width:min(880px,100%);max-height:min(92vh,980px)}
.storico-sheet-body{overflow:auto;padding-bottom:28px}
.history-filter-section[open]{padding-bottom:8px}
.history-filter-section summary{position:sticky;top:0;background:var(--surface2);z-index:1}
.history-filter-list,.history-chip-grid,.history-filter-range-grid,.history-date-row{padding-top:10px}
.history-date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.history-date-row .form-label{display:flex;flex-direction:column;gap:6px}
.saldi-immobile-stack>.card .saldi-subsection-head{display:none}
.saldi-subsection-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 10px}
.saldi-subsection .card{background:transparent;border:none;box-shadow:none;padding:0}
.saldi-subsection{margin-top:14px}
.compact-detail-row .compact-detail-main{display:grid;grid-template-columns:minmax(140px,200px) minmax(0,1fr);align-items:center;gap:18px;width:100%}
.compact-detail-row .compact-detail-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.compact-detail-row .compact-detail-category{min-width:0}


/* v11 fixes */
.filter-funnel-svg{width:18px;height:18px;display:block}
.history-filter-trigger-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding-inline:12px}
.history-scope-switch{width:min(560px,100%);grid-template-columns:1fr 1fr}
.history-scope-switch .tab-btn:last-child{max-width:none}
.saldi-accordion > summary .history-filter-summary{display:none !important}
.saldi-subsection-head{padding:0 0 10px 0}.saldi-subsection .t-heading{font-size:16px;font-weight:700;color:var(--text)}
.saldi-immobile-stack>.list-item{margin-bottom:0}
.global-search-content{min-height:420px}.global-search-results{min-height:260px}.global-search-body{overflow:hidden}.global-search-body .ios-list{display:flex;flex-direction:column;gap:12px}.global-search-body .ios-cell{min-height:88px;align-items:center}.global-search-body .form-input{height:64px}.global-search-results-wrap,.global-search-results{display:block}
.modal-header.sticky-modal-header{padding-top:18px}.modal-header .modal-title{padding-top:6px}.modal-header .modal-subtitle{padding-bottom:6px}
.hdr-btn,.avatar,.logo-btn{transition:background .18s ease, transform .18s ease, box-shadow .18s ease}.hdr-btn:hover,.avatar:hover,.logo-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,12,41,.08)}
.compact-detail-main{width:100%}.compact-detail-amount{font-variant-numeric:tabular-nums;text-align:right;min-width:180px}.compact-detail-category{text-transform:none}.compact-detail-category::first-letter{text-transform:lowercase}
.tx-modal-body{padding-top:20px}.tx-stepper-card,.tx-section-card{margin-left:0}.tx-stepper-track{justify-content:flex-start}.tx-step-chip{justify-content:flex-start}
#modalPagamento .modal-body,#modalVoceGestionale .modal-body{padding-top:20px}
#modalTransazione .modal-header .modal-subtitle,#modalPagamento .modal-header .modal-subtitle,#modalVoceGestionale .modal-header .modal-subtitle{max-width:760px}
.history-scope-switch-row{justify-content:flex-start}
.storico-sheet{max-height:min(86vh,920px)}.storico-sheet-body{overflow:auto;max-height:calc(86vh - 150px);padding-right:8px}.history-filter-section[open]{padding-bottom:18px}
.compact-detail-row .compact-detail-amount{min-width:180px;text-align:right}

/* Build 12 - Movimenti grouped-by-person HIG alignment */
.storico-grouped-list{padding:8px 0;}
.storico-person-group{border-bottom:1px solid var(--border);background:transparent;}
.storico-person-group:last-child{border-bottom:none;}
.storico-person-group>summary{list-style:none;cursor:pointer;}
.storico-person-group>summary::-webkit-details-marker{display:none;}
.storico-person-group>summary .storico-row{margin:0;}
.storico-person-group>summary .storico-row:hover{background:rgba(96,125,139,.06);}
.storico-person-group-body{padding:0 0 8px 24px;display:flex;flex-direction:column;}
.storico-person-group-body .storico-row{border-top:1px solid var(--border);border-bottom:none;}
.storico-person-group[open]>summary .detail-link-label::after{content:'  nascondi';font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0;}
.storico-person-group:not([open])>summary .detail-link-label::after{content:'  mostra';font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0;}
.storico-person-group>summary .compact-detail-action .ios-chevron{transform:rotate(90deg);transition:transform .18s ease;}
.storico-person-group[open]>summary .compact-detail-action .ios-chevron{transform:rotate(-90deg);}
@media (max-width: 720px){
  .storico-person-group-body{padding-left:12px;}
}

.history-inline-filters{padding:14px 16px;margin:10px 0 14px;}
.history-inline-filters-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.history-inline-filters-body{margin-top:12px;display:flex;flex-direction:column;gap:12px;}
.history-inline-section{border:1px solid var(--line,#d9e2ea);border-radius:18px;background:#fff;overflow:hidden;}
.history-inline-section summary{padding:16px 18px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.history-inline-section summary::-webkit-details-marker{display:none;}
.history-inline-body,.history-filter-section .history-filter-list,.history-filter-section .history-filter-chip-list{padding:0 18px 16px;}
.history-filter-section .history-filter-list{max-height:none;overflow:visible;}
.history-filter-summary-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.storico-person-group{border:1px solid var(--line,#d9e2ea);border-radius:20px;background:#fff;margin-bottom:12px;overflow:hidden;}
.storico-person-group summary{list-style:none;cursor:pointer;}
.storico-person-group summary::-webkit-details-marker{display:none;}
.storico-person-group .storico-row{background:transparent;}
.storico-person-group-body{padding:0 10px 10px;}
.history-command-row{justify-content:flex-end;}

.history-search-input-wrap{display:flex;align-items:center}
.history-search-input.has-submit{padding-right:56px}
.history-search-submit{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:999px;border:1px solid var(--line,#d9e2ea);background:#fff;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}
.history-filter-trigger{display:inline-flex;align-items:center;gap:8px}
.history-filter-chevron{font-size:.9rem;line-height:1;color:var(--text3)}
.history-filter-range-grid.compact{padding:10px 16px 6px;gap:10px}
.history-date-row.compact{padding:0 16px 12px;gap:10px}
.compact-field{min-height:52px;height:52px}
.movimenti-period-filters.compact{margin:4px 16px 10px;padding:4px;gap:4px}
.movimenti-period-filters.compact .tab-btn{min-height:44px;padding:8px 10px}
.history-inline-filters-body{max-height:none;overflow:visible}
.history-inline-section[open]{overflow:visible}
.history-inline-body{overflow:visible}


/* Fixed canvas + Apple-like scrolling hardening */
.modal,
.modal-large,
.modal-body,
.panel-scroll{
  min-height:0;
}
.modal-body,
.panel-scroll,
.scroll-box,
.quota-box{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.modal-body{
  overflow-y:auto;
  overflow-x:hidden;
}
.main-content::-webkit-scrollbar,
.modal-body::-webkit-scrollbar,
.panel-scroll::-webkit-scrollbar,
.scroll-box::-webkit-scrollbar,
.quota-box::-webkit-scrollbar{
  width:8px;
}
.main-content::-webkit-scrollbar-track,
.modal-body::-webkit-scrollbar-track,
.panel-scroll::-webkit-scrollbar-track,
.scroll-box::-webkit-scrollbar-track,
.quota-box::-webkit-scrollbar-track{
  background:transparent;
}
.main-content::-webkit-scrollbar-thumb,
.modal-body::-webkit-scrollbar-thumb,
.panel-scroll::-webkit-scrollbar-thumb,
.scroll-box::-webkit-scrollbar-thumb,
.quota-box::-webkit-scrollbar-thumb{
  background:rgba(104,121,139,.34);
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}
.main-content:hover::-webkit-scrollbar-thumb,
.modal-body:hover::-webkit-scrollbar-thumb,
.panel-scroll:hover::-webkit-scrollbar-thumb,
.scroll-box:hover::-webkit-scrollbar-thumb,
.quota-box:hover::-webkit-scrollbar-thumb{
  background:rgba(104,121,139,.5);
  border:2px solid transparent;
  background-clip:padding-box;
}


/* fix movimenti hover tremolio + single-line rows */
.storico-voice-list .ios-cell,
.storico-person-group > summary .ios-cell,
.storico-person-group-body .ios-cell,
.storico-voice-list .compact-detail-row,
.storico-person-group > summary .compact-detail-row,
.storico-person-group-body .compact-detail-row{
  transform:none !important;
  box-shadow:none !important;
  transition:background-color .14s ease,color .14s ease,border-color .14s ease !important;
  will-change:auto !important;
}
.storico-voice-list .ios-cell:hover,
.storico-person-group > summary .ios-cell:hover,
.storico-person-group-body .ios-cell:hover,
.storico-voice-list .compact-detail-row:hover,
.storico-person-group > summary .compact-detail-row:hover,
.storico-person-group-body .compact-detail-row:hover{
  transform:none !important;
  box-shadow:none !important;
  background:rgba(96,125,139,.06) !important;
}
.storico-voice-list .compact-detail-main,
.storico-person-group .compact-detail-main{min-width:0;flex:1;}
.storico-voice-list .compact-detail-category,
.storico-person-group .compact-detail-category{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.storico-voice-list .compact-detail-amount,
.storico-person-group .compact-detail-amount{min-width:132px;text-align:right;}
.storico-voice-list .compact-detail-action,
.storico-person-group .compact-detail-action{margin-left:12px;flex-shrink:0;}


/* Round performance/stability: neutralizza motion costoso nelle liste dense */
.storico-voice-list .ios-cell,
.storico-voice-list .storico-row,
.storico-grouped-list .storico-row,
.compact-detail-row,
.compact-detail-row:hover,
.compact-detail-row:active,
.storico-person-group>summary .storico-row,
.storico-person-group>summary .storico-row:hover,
.list-item,
.list-item:hover,
.list-item:active{
  transform:none !important;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease !important;
  box-shadow:none !important;
}
.storico-voice-list .ios-cell:hover,
.storico-voice-list .storico-row:hover,
.storico-grouped-list .storico-row:hover,
.compact-detail-row:hover,
.storico-person-group>summary .storico-row:hover,
.list-item:hover{
  background:rgba(96,125,139,.04) !important;
}
.history-pagination .btn,
.movimenti-quick-filters .tab-btn,
.movimenti-period-filters .tab-btn,
.history-sort-pills .sort-chip{
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease !important;
  transform:none !important;
}

/* ============================================================
   Premium Settings Refactor — Apple-like, Comfortaa preserved
   ============================================================ */
.settings-premium-shell{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:18px;
  align-items:start;
  min-height:calc(100vh - 140px);
}
.settings-premium-sidebar{
  position:sticky;
  top:82px;
  align-self:start;
  border:1px solid rgba(0,12,41,.07);
  border-radius:28px;
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(24px);
  backdrop-filter:blur(24px);
  box-shadow:0 18px 52px rgba(0,12,41,.07);
  padding:16px;
  overflow:hidden;
}
.settings-sidebar-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--text);margin:2px 4px 4px}
.settings-sidebar-subtitle{font-size:.78rem;line-height:1.35;color:var(--text3);margin:0 4px 14px;max-width:220px}
.settings-sidebar-nav{display:flex;flex-direction:column;gap:6px}
.settings-premium-nav-item{
  width:100%;border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:12px;text-align:left;
  padding:12px 12px;border-radius:17px;cursor:pointer;min-height:58px;
  transition:background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.settings-premium-nav-item:hover{background:rgba(0,12,41,.045)}
.settings-premium-nav-item:active{transform:scale(.99)}
.settings-premium-nav-item.active{background:rgba(96,125,139,.13);box-shadow:inset 0 0 0 1px rgba(96,125,139,.10)}
.settings-premium-nav-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(96,125,139,.10);font-size:1rem;flex:0 0 auto}
.settings-premium-nav-title{display:block;font-size:.92rem;font-weight:800;letter-spacing:-.01em;color:var(--text);line-height:1.2}
.settings-premium-nav-sub{display:block;font-size:.72rem;color:var(--text3);line-height:1.2;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:178px}
.settings-premium-content{min-width:0;border-radius:30px;background:rgba(255,255,255,.58);border:1px solid rgba(0,12,41,.055);box-shadow:0 18px 56px rgba(0,12,41,.055);overflow:hidden}
.settings-premium-section,.settings-mobile-root{background:transparent!important;border:0!important;box-shadow:none!important}
.settings-premium-body{padding:22px!important;max-height:none!important;overflow:visible!important}
.settings-premium-section .settings-subheader{padding:22px 22px 12px!important;border:0!important;background:transparent!important;align-items:center}
.settings-premium-kicker{font-size:.72rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:rgba(96,125,139,.95);margin-bottom:4px}
.settings-premium-hero{padding:26px 26px 18px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(246,248,250,.86));border-bottom:1px solid rgba(0,12,41,.06)}
.settings-premium-hero h1{margin:0 0 8px;font-size:2rem;letter-spacing:-.045em;color:var(--text)}
.settings-premium-hero p{margin:0;color:var(--text3);font-size:.95rem;line-height:1.5;max-width:680px}
.settings-premium-list{padding:18px;display:flex;flex-direction:column;gap:8px}
.settings-premium-row{border:1px solid rgba(0,12,41,.055);background:#fff;border-radius:20px;padding:16px;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(0,12,41,.045);transition:background-color .18s ease, transform .18s ease, box-shadow .18s ease}
.settings-premium-row:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,12,41,.07)}
.settings-premium-row-icon{width:38px;height:38px;border-radius:14px;background:rgba(96,125,139,.10);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.settings-premium-row-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.settings-premium-row-copy span{font-weight:800;color:var(--text)}
.settings-premium-row-copy small{font-size:.82rem;color:var(--text3);line-height:1.35}
.card-premium,.settings-section-intro,.settings-metric-card{background:#fff;border:1px solid rgba(0,12,41,.055);border-radius:24px;box-shadow:0 10px 30px rgba(0,12,41,.055)}
.settings-section-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;margin-bottom:16px}
.settings-section-intro h2{margin:0 0 5px;font-size:1.2rem;letter-spacing:-.025em;color:var(--text)}
.settings-section-intro p{margin:0;color:var(--text3);font-size:.9rem;line-height:1.45;max-width:720px}
.settings-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.settings-metric-card{padding:16px 18px;background:linear-gradient(180deg,#fff 0%,#f7fafb 100%)}
.settings-metric-card span{display:block;font-size:.72rem;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;font-weight:800;margin-bottom:8px}
.settings-metric-card strong{font-size:1.55rem;color:var(--text);letter-spacing:-.04em}
.settings-premium-body .ios-list{border:1px solid rgba(0,12,41,.06);box-shadow:0 10px 28px rgba(0,12,41,.045)}
.settings-premium-body .ios-cell{transition:background-color .16s ease;transform:none!important}
.settings-premium-body .ios-cell:hover{background:rgba(96,125,139,.045)}
.settings-premium-body .settings-property-card{border-radius:24px;border:1px solid rgba(0,12,41,.055);box-shadow:0 10px 30px rgba(0,12,41,.055)}
.settings-premium-body .flow-hero{border-radius:22px;background:linear-gradient(180deg,#fff 0%,#f6f8fa 100%);border-color:rgba(0,12,41,.06);box-shadow:0 10px 28px rgba(0,12,41,.045)}
.settings-mobile-back{display:none!important}
@media (max-width: 860px){
  .settings-premium-shell{display:block;min-height:0}
  .settings-premium-sidebar{display:none}
  .settings-premium-content{border:0;box-shadow:none;background:transparent;border-radius:0;overflow:visible}
  .settings-premium-body{padding:12px!important}
  .settings-premium-section .settings-subheader{padding:4px 4px 12px!important;align-items:flex-start}
  .settings-mobile-back{display:inline-flex!important}
  .settings-section-intro{flex-direction:column;border-radius:22px;padding:16px}
  .settings-metric-grid{grid-template-columns:1fr;gap:10px}
  .settings-premium-list{padding:12px 0 0}
  .settings-premium-hero{padding:10px 2px 16px;background:transparent;border:0}
  .settings-premium-hero h1{font-size:1.55rem}
  .settings-premium-row{border-radius:18px;box-shadow:0 8px 20px rgba(0,12,41,.045)}
}
@media (min-width: 861px){
  .settings-mobile-root .settings-premium-hero{display:none}
  .settings-mobile-root .settings-premium-list{display:none}
  .settings-premium-content:has(.settings-mobile-root)::after{content:'';display:block;min-height:620px;background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(246,248,250,.65))}
}


/* Premium saldi refinement */
.saldi-premium-accordion > summary{padding:16px 18px!important;}
.saldi-premium-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-width:0;}
.saldi-property-name{display:block;font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw;}
.saldi-property-meta{display:inline-flex;margin-top:5px;padding:3px 8px;border-radius:999px;background:rgba(96,125,139,.10);color:var(--text3);font-size:.72rem;font-weight:700;}
.saldi-property-total{flex:0 0 auto;font-size:.86rem;font-weight:800;color:var(--text3);background:rgba(0,12,41,.045);border-radius:999px;padding:6px 10px;}
.saldi-property-total.has-balance{color:var(--text);background:rgba(96,125,139,.13);}
@media (max-width: 640px){
  .saldi-property-name{max-width:46vw;}
  .saldi-property-total{font-size:.78rem;padding:5px 8px;}
}

/* ============================================================
   Step 2 UI System — Apple-like global harmonization
   Scope: typography, spacing, chips/filters, settings mobile drill-down,
   premium cards/lists, saldi property headers. Font intentionally unchanged.
   ============================================================ */
:root{
  --ui-font-title: 1.72rem;
  --ui-font-section: 1.08rem;
  --ui-font-body: .94rem;
  --ui-font-control: .82rem;
  --ui-font-secondary: .78rem;
  --ui-font-caption: .68rem;
  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-space-5: 20px;
  --ui-space-6: 24px;
  --ui-radius-control: 12px;
  --ui-radius-list: 16px;
  --ui-radius-card: 22px;
  --ui-shadow-soft: 0 8px 26px rgba(6,22,43,.055);
}

.t-hero{font-size:var(--ui-font-title);line-height:1.12;font-weight:500;letter-spacing:-.035em}
.t-title{font-size:1.18rem;line-height:1.22;font-weight:600;letter-spacing:-.025em}
.t-heading{font-size:var(--ui-font-section);line-height:1.28;font-weight:600;letter-spacing:-.018em}
.t-body,.list-item-title,.ios-cell-title{font-size:var(--ui-font-body);line-height:1.35;font-weight:500;letter-spacing:-.01em}
.t-small,.list-item-sub,.ios-cell-sub,.form-hint{font-size:var(--ui-font-secondary);line-height:1.42;font-weight:400}
.t-micro,.section-label,.saldo-meta-label,.settings-property-stat-label{font-size:var(--ui-font-caption);line-height:1.2;font-weight:700;letter-spacing:.075em;text-transform:uppercase}

.btn,.btn-sm,.toggle-btn,.tab-btn,.sort-chip,.hashtag-chip,.compact-select,.form-label,.nav-item{
  font-size:var(--ui-font-control)!important;
  line-height:1.2;
}
.btn-sm{padding:7px 12px;border-radius:var(--ui-radius-control)}
.toggle-btn,.tab-btn,.sort-chip,.hashtag-chip{min-height:34px;padding:7px 11px;border-radius:999px;font-weight:600}
.movimenti-period-filters .tab-btn,.history-filter-block-period .tab-btn,.period-pills .tab-btn{font-size:var(--ui-font-control)!important;min-height:36px;padding:7px 10px}

.card,.ios-list,.settings-accordion,.history-accordion,.settings-premium-content,.settings-premium-row,.settings-metric-card,.settings-section-intro{
  border-color:rgba(0,12,41,.07)!important;
}
.card{border-radius:var(--ui-radius-card);box-shadow:var(--ui-shadow-soft);padding:18px;margin-bottom:14px}
.card-tight{padding:14px 16px}
.ios-list{border-radius:var(--ui-radius-list);overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(6,22,43,.025)}
.ios-cell,.list-item{padding:12px 14px;min-height:54px}
.ios-cell{align-items:center;transition:background .16s ease, transform .16s ease}
.ios-cell:hover{background:rgba(0,12,41,.025)}
.ios-cell:active,.list-item:active,.settings-premium-row:active,.settings-premium-nav-item:active{transform:scale(.995);background:rgba(96,125,139,.09)}

/* Native browser tooltips feel non-premium in dense settings tables. */
.settings-premium-shell [title],.settings-screen [title]{pointer-events:auto}

.settings-premium-shell{grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:24px;align-items:start}
.settings-premium-sidebar{border-radius:28px;padding:18px;background:rgba(255,255,255,.72);backdrop-filter:blur(22px);box-shadow:0 18px 48px rgba(6,22,43,.055);border:1px solid rgba(0,12,41,.06)}
.settings-sidebar-title{font-size:1.28rem;font-weight:700;letter-spacing:-.03em;margin:8px 8px 4px;color:var(--text)}
.settings-sidebar-subtitle{font-size:.82rem;line-height:1.35;margin:0 8px 18px;color:rgba(6,22,43,.64)}
.settings-sidebar-nav{display:flex;flex-direction:column;gap:6px}
.settings-premium-nav-item{min-height:58px;padding:10px 12px;border-radius:18px;gap:12px;text-align:left;overflow:hidden}
.settings-premium-nav-title{font-size:.9rem!important;font-weight:700!important;line-height:1.2}
.settings-premium-nav-sub{font-size:.72rem!important;line-height:1.25;opacity:.68;max-width:190px}
.settings-premium-nav-icon{width:34px;height:34px;border-radius:14px;font-size:.96rem;background:rgba(96,125,139,.10)}
.settings-premium-content{border-radius:30px;min-height:560px;background:rgba(255,255,255,.68)}
.settings-premium-section .settings-subheader{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:22px 24px 10px!important}
.settings-premium-section .settings-subheader .t-heading{font-size:1.38rem!important;font-weight:700!important;letter-spacing:-.035em;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:var(--text)!important;text-align:left!important;justify-content:flex-start!important}
.settings-premium-kicker{font-size:var(--ui-font-caption)!important;font-weight:800;letter-spacing:.085em;text-transform:uppercase;color:rgba(96,125,139,.92)}
.settings-premium-body{padding:20px 24px 24px!important;display:flex;flex-direction:column;gap:14px}
.settings-mobile-back{visibility:hidden;pointer-events:none}
.settings-mobile-root{border-radius:24px!important;overflow:hidden;background:#fff!important}
.settings-premium-hero{padding:24px 22px 16px}
.settings-premium-hero h1{font-size:1.8rem;line-height:1.1;letter-spacing:-.045em}
.settings-premium-hero p{font-size:.9rem;max-width:560px;color:rgba(6,22,43,.66)}
.settings-premium-list{padding:14px;gap:8px}
.settings-premium-row{min-height:72px;padding:12px 14px;border-radius:20px;box-shadow:0 6px 18px rgba(6,22,43,.035)}
.settings-premium-row-copy span{font-size:.96rem;font-weight:700;line-height:1.2}
.settings-premium-row-copy small{font-size:.76rem;line-height:1.35;color:rgba(6,22,43,.62);display:block;margin-top:3px}
.settings-premium-row-icon{width:38px;height:38px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:rgba(96,125,139,.10);font-size:1rem}
.settings-section-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px!important}
.settings-section-intro h2{font-size:1.18rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 4px}
.settings-section-intro p{font-size:.84rem;line-height:1.45;color:rgba(6,22,43,.64);margin:0;max-width:680px}
.settings-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.settings-metric-card{border-radius:20px;background:#fff;border:1px solid rgba(0,12,41,.06);padding:14px;box-shadow:0 8px 22px rgba(6,22,43,.035)}
.settings-metric-card span{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:rgba(6,22,43,.56);margin-bottom:6px}
.settings-metric-card strong{font-size:1.35rem;letter-spacing:-.035em;color:var(--text)}
.observability-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 12px}
.observability-filter-panel{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;padding:12px;border:1px solid rgba(0,12,41,.06);border-radius:16px;background:rgba(255,255,255,.72)}
.observability-filter-row{justify-content:flex-start;gap:8px;flex-wrap:wrap}
.observability-badge{margin-left:6px;vertical-align:middle}
.observability-badge.is-slow{background:rgba(191,113,0,.10);color:#8a4f00}
.observability-badge.is-missing{background:rgba(180,35,24,.10);color:#9f1d15}
.observability-event-row.is-slow{box-shadow:inset 3px 0 0 rgba(191,113,0,.45)}
.observability-event-row.is-missing{box-shadow:inset 3px 0 0 rgba(180,35,24,.45)}
.sensitive-audit-list{max-height:56vh;overflow:auto}
.sensitive-audit-row{align-items:flex-start}
.sensitive-audit-payload{
  margin-top:7px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(6,22,43,.045);
  color:rgba(6,22,43,.64);
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:11px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.compact-toggle{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 9px;border:1px solid rgba(0,12,41,.08);border-radius:999px;background:rgba(248,250,252,.86);font-size:12px;font-weight:560;color:rgba(6,22,43,.72);white-space:normal}
.compact-toggle input{width:15px;height:15px;accent-color:var(--accent)}
.tutorial-panel{display:flex;flex-direction:column;gap:18px}
.tutorial-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;color:rgba(6,22,43,.58);font-size:12px;font-weight:700}
.tutorial-progress>div{display:flex;gap:6px}
.tutorial-dot{width:7px;height:7px;border-radius:999px;background:rgba(6,22,43,.18)}
.tutorial-dot.active{width:22px;background:var(--accent)}
.tutorial-step{padding:20px;border:1px solid rgba(0,12,41,.06);border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(6,22,43,.035)}
.tutorial-step-number{width:34px;height:34px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(96,125,139,.12);font-weight:800;color:var(--text);margin-bottom:14px}
.tutorial-step h3{margin:0 0 8px;font-size:1.22rem;line-height:1.18;letter-spacing:-.025em;color:var(--text)}
.tutorial-step p{margin:0;font-size:.92rem;line-height:1.48;color:rgba(6,22,43,.66)}
.tutorial-target-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:12px 14px;border:1px solid rgba(96,125,139,.18);border-radius:14px;background:rgba(96,125,139,.10);color:var(--text);font-size:.9rem;font-weight:700;text-align:left}
.tutorial-target-btn i{font-style:normal;font-size:1.15rem;color:rgba(6,22,43,.5)}
.tutorial-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.beta-checklist{display:flex;flex-direction:column;gap:12px}
.beta-checklist-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:2px 0}
.beta-progress{min-width:76px;text-align:right}
.beta-progress strong{display:block;font-size:1.35rem;line-height:1;color:var(--text)}
.beta-progress span{display:block;margin-top:3px;font-size:.72rem;font-weight:700;color:rgba(6,22,43,.52)}
.beta-progress-bar{height:7px;border-radius:999px;background:rgba(6,22,43,.08);overflow:hidden}
.beta-progress-bar i{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.beta-checklist-list{border-radius:16px}
.beta-checklist-row{gap:10px}
.beta-checklist-row>div{min-width:0;flex:1}
.beta-check-icon{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(6,22,43,.14);font-size:.8rem;font-weight:800;color:#fff;background:#fff}
.beta-checklist-row.done .beta-check-icon{border-color:rgba(26,127,55,.28);background:#1a7f37}
.beta-checklist-row.done .ios-cell-title{color:rgba(6,22,43,.72)!important}
.beta-feedback{display:flex;flex-direction:column;gap:12px}
.beta-feedback-tools{justify-content:flex-end;flex-wrap:wrap}
.beta-insights{display:flex;flex-direction:column;gap:10px}
.beta-insights-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.beta-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.beta-insight-card{min-width:0;border:1px solid rgba(6,22,43,.06);border-radius:14px;background:rgba(255,255,255,.62);padding:10px}
.beta-insight-card span{display:block;font-size:12px;color:rgba(6,22,43,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.beta-insight-card strong{display:block;margin-top:3px;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.beta-insight-list{border-radius:16px}
.beta-insight-row{gap:12px}
.beta-insight-row>div{min-width:0;flex:1}
.beta-feedback-form{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:10px;align-items:start}
.beta-feedback-note{min-height:72px}
.beta-feedback-list{border-radius:16px}
.beta-feedback-row{gap:12px}
.beta-feedback-row>div:first-child{min-width:0;flex:1}
.beta-feedback-row.done{opacity:.72}
.beta-feedback-row.done .ios-cell-title{text-decoration:line-through}

.settings-accordion{border-radius:20px!important;background:#fff!important;box-shadow:0 8px 24px rgba(6,22,43,.035);margin-bottom:12px!important;overflow:hidden}
.settings-accordion summary{padding:14px 16px!important;font-size:.94rem!important;font-weight:700!important;min-height:54px}
.settings-accordion summary .t-small{font-size:.72rem!important;font-weight:700;color:rgba(6,22,43,.56)!important}
.settings-accordion-body{padding:0 14px 14px!important}
.settings-voice-list{border-radius:18px;margin-top:8px}
.settings-voice-head{background:rgba(248,250,252,.9)!important}
.settings-voice-actions .btn{font-size:.78rem!important;padding:7px 10px}
.settings-annualita-row{align-items:center!important}

.saldi-premium-accordion{border-radius:20px!important;background:#fff!important;box-shadow:0 8px 24px rgba(6,22,43,.035);overflow:hidden!important}
.saldi-premium-accordion>summary{padding:0!important;border:0!important;background:transparent!important}
.saldi-premium-summary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px}
.saldi-property-name{display:block;font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2}
.saldi-property-meta{display:block;margin-top:3px;font-size:.74rem;font-weight:500;color:rgba(6,22,43,.55);line-height:1.25}
.saldi-property-total{font-size:.86rem;font-weight:700;padding:7px 10px;border-radius:999px;background:rgba(6,22,43,.045);white-space:nowrap;color:rgba(6,22,43,.72)}
.saldi-property-total.has-balance{background:rgba(96,125,139,.13);color:var(--text)}
.saldi-subsection-head{padding:14px 16px 6px}
.saldi-subsection-head .t-heading{font-size:.98rem!important;font-weight:700!important;letter-spacing:-.02em}
.saldo-row-grid{column-gap:12px}
.saldo-name{font-size:.92rem!important;font-weight:700!important}
.saldo-meta-value{font-size:.78rem!important;color:rgba(6,22,43,.66)!important}
.saldo-inline-amount{font-size:.9rem!important;font-weight:700!important}
.status-indicator{font-size:.74rem!important;font-weight:700!important;white-space:nowrap}

@media (max-width: 860px){
  #impostazioniContent .settings-premium-shell{display:block!important}
  #impostazioniContent .settings-premium-sidebar{display:none!important}
  #impostazioniContent .settings-premium-content{display:block!important;border-radius:0!important;box-shadow:none!important;border:0!important;min-height:0;background:transparent!important}
  #impostazioniContent .settings-screen{border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important}
  #impostazioniContent .settings-mobile-root{display:block!important;background:transparent!important}
  .settings-mobile-back{visibility:visible;pointer-events:auto}
  .settings-premium-section .settings-subheader{position:sticky;top:0;z-index:30;background:rgba(248,250,252,.92)!important;backdrop-filter:blur(18px);grid-template-columns:auto minmax(0,1fr) auto;padding:10px 12px!important;border-bottom:1px solid rgba(0,12,41,.06)!important}
  .settings-premium-section .settings-subheader .t-heading{font-size:1.02rem!important;text-align:center!important;justify-content:center!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
  .settings-premium-section .settings-subheader .settings-premium-kicker{display:none}
  .settings-premium-body{padding:14px 12px 18px!important;gap:12px}
  .settings-premium-hero{padding:20px 14px 12px;background:transparent;border:0}
  .settings-premium-hero h1{font-size:1.72rem}
  .settings-premium-list{padding:8px 0 0;gap:8px}
  .settings-premium-row{min-height:68px;border-radius:18px;padding:11px 12px}
  .settings-premium-row-copy span{font-size:.92rem}
  .settings-premium-row-copy small{font-size:.73rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .settings-section-intro{flex-direction:column;padding:15px!important}
  .settings-metric-grid{grid-template-columns:1fr 1fr;gap:10px}
  .observability-metric-grid{grid-template-columns:1fr 1fr}
  .beta-feedback-form{grid-template-columns:1fr 1fr}
  .beta-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .beta-feedback-note{grid-column:1/-1}
  .settings-metric-card{padding:12px;border-radius:18px}
  .settings-metric-card strong{font-size:1.18rem}
  .settings-accordion summary{padding:13px 14px!important;font-size:.9rem!important}
  .ios-cell,.list-item{padding:11px 12px;min-height:52px}
  .settings-voice-actions{width:100%;justify-content:flex-start;margin-top:8px}
  .settings-annualita-row{display:block!important}
  .saldi-premium-summary{padding:14px 13px}
  .saldo-row-grid{grid-template-columns:42px minmax(0,1fr) auto!important;row-gap:6px}
  .saldo-col-role,.saldo-col-state{display:none!important}
  .saldo-col-amount{grid-column:3;text-align:right}
  .saldo-meta-label{display:none}
  .saldo-inline-amount{min-width:auto}
}

@media (max-width: 430px){
  .main-content{padding-left:10px;padding-right:10px}
  .card{padding:15px;border-radius:20px}
  .settings-metric-grid{grid-template-columns:1fr}
  .observability-metric-grid{grid-template-columns:1fr}
  .beta-feedback-form{grid-template-columns:1fr}
  .beta-insight-grid{grid-template-columns:1fr 1fr}
  .beta-feedback-note{grid-column:auto}
  .btn,.btn-sm,.toggle-btn,.tab-btn,.sort-chip{font-size:.78rem!important}
}

/* STEP 3 CORE UX — SatoriHome actionable premium layer */
.core-ux-dashboard{gap:14px}
.zen-card-actionable{display:flex;flex-direction:column;gap:14px}
.zen-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.zen-subcopy{font-size:var(--ui-font-caption,13px);color:rgba(6,22,43,.58);margin-top:-6px}
.zen-guidance{font-size:var(--ui-font-body,15px);line-height:1.42;color:rgba(6,22,43,.72);background:rgba(255,255,255,.58);border:1px solid rgba(96,125,139,.12);border-radius:16px;padding:12px 14px}
.zen-balance-pill{min-height:34px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(6,22,43,.06);font-size:.84rem;font-weight:700;white-space:nowrap}
.smart-actions-card{display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%)}
.smart-actions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.smart-action-orb{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(96,125,139,.14);color:var(--accent-strong);font-weight:800;flex:0 0 auto}
.smart-actions-list{display:flex;flex-direction:column;gap:8px}
.smart-action-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;text-align:left;border:1px solid rgba(6,22,43,.06);background:rgba(255,255,255,.78);border-radius:18px;padding:12px 14px;cursor:pointer}
.smart-action-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.smart-action-copy strong{font-size:.96rem;line-height:1.22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-action-copy small{font-size:.78rem;color:rgba(6,22,43,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-action-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.075em;font-weight:800;color:rgba(6,22,43,.48)}.smart-action-amount{font-weight:800;font-size:.95rem;white-space:nowrap}
.quick-create-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-create-btn{min-height:58px;border-radius:18px;border:1px solid rgba(6,22,43,.07);background:rgba(255,255,255,.84);box-shadow:0 8px 22px rgba(6,22,43,.05);display:flex;align-items:center;justify-content:center;gap:8px;font-size:.88rem;cursor:pointer}.quick-create-btn span{font-size:1rem;color:var(--accent-strong)}.quick-create-btn strong{font-weight:700}
.movimenti-core-list{padding:8px;display:flex;flex-direction:column;gap:4px}.movimenti-group-label{font-size:.72rem;line-height:1.1;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:rgba(6,22,43,.42);padding:14px 10px 6px}.movimento-core-row{display:grid!important;grid-template-columns:92px minmax(0,1fr) auto 18px;align-items:center;gap:14px;border-radius:16px!important;padding:12px!important}.mov-core-date{display:flex;flex-direction:column;gap:3px;color:rgba(6,22,43,.62)}.mov-core-date span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.mov-core-date small{font-size:.78rem}.mov-core-main{min-width:0}.mov-core-title{font-size:.95rem;font-weight:750;line-height:1.24;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mov-core-meta{font-size:.8rem;color:rgba(6,22,43,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.mov-core-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.mov-core-amount{font-size:.95rem;font-weight:800;white-space:nowrap}.mov-core-badge{font-size:.7rem;font-weight:800;border-radius:999px;background:rgba(96,125,139,.11);padding:3px 8px;color:rgba(6,22,43,.62);white-space:nowrap}.mov-core-badge.is-alert{background:rgba(190,82,52,.12);color:#a0442a}.saldo-explain-card{background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%)}.saldo-why-list{display:flex;flex-direction:column;gap:8px}.saldo-why-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(6,22,43,.06)}.saldo-why-row:first-child{border-top:0}.saldo-why-row div{min-width:0;display:flex;flex-direction:column;gap:2px}.saldo-why-row strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saldo-why-row small{font-size:.78rem;color:rgba(6,22,43,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saldo-why-row span{font-weight:800;white-space:nowrap}
@media(max-width:767px){.quick-create-card{grid-template-columns:1fr 1fr 1fr;gap:8px}.quick-create-btn{min-height:52px;border-radius:16px;font-size:.78rem;flex-direction:column;gap:2px}.movimento-core-row{grid-template-columns:minmax(0,1fr) auto 16px!important;gap:10px}.mov-core-date{display:none}.mov-core-side{align-items:flex-end}.mov-core-badge{display:none}.smart-action-row{grid-template-columns:minmax(0,1fr) auto 16px;padding:11px 12px}.zen-topline{align-items:flex-start}.zen-balance-pill{font-size:.78rem}.zen-guidance{font-size:.88rem;padding:10px 12px}}


/* STEP 4 SYSTEM CLEANUP --------------------------------------------------
   Unified Apple-like grammar: less repetition, smaller filters, one-screen
   mobile settings, clean Zen, premium movement rows, info sheets. */
:root{
  --ui-page-title:28px;
  --ui-section-title:20px;
  --ui-list-title:16px;
  --ui-meta:13px;
  --ui-control:13px;
  --ui-space-1:8px;
  --ui-space-2:16px;
  --ui-space-3:24px;
}
.t-heading{font-size:var(--ui-page-title)!important;line-height:1.12;font-weight:650;letter-spacing:-.035em}
.section-label,.dashboard-section-label{font-size:var(--ui-meta)!important;letter-spacing:.08em;text-transform:uppercase;font-weight:650;color:rgba(6,22,43,.72)!important}
.ios-cell-title,.list-item-title,.mov-core-title{font-size:var(--ui-list-title)!important;line-height:1.25;font-weight:650;letter-spacing:-.015em}
.ios-cell-sub,.list-item-sub,.mov-core-meta,.empty-sub,.form-hint,.t-small{font-size:var(--ui-meta)!important;line-height:1.35;color:rgba(6,22,43,.58)!important}
.btn,.btn-sm,.toggle-btn,.tab-btn,.sort-chip,.history-chip,.hashtag-chip,.compact-select{font-size:var(--ui-control)!important;line-height:1.1}
.sort-chip,.history-chip,.toggle-btn,.tab-btn{min-height:32px!important;padding:6px 10px!important;border-radius:999px!important;font-weight:560!important}
.history-chip-grid{gap:8px!important;padding:10px 14px 14px!important}
.history-filter-list,.history-filter-section .history-filter-list,.history-filter-section .history-filter-chip-list{gap:8px!important}
.card,.card-premium{border-radius:22px!important}
.card-tight{padding:16px!important}

.settings-title-block{min-width:0}
.settings-heading-row{display:flex;align-items:center;gap:8px;min-width:0}
.info-button{width:22px;height:22px;border-radius:999px;border:1px solid rgba(6,22,43,.12);background:rgba(255,255,255,.74);color:rgba(6,22,43,.58);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;flex:0 0 auto;transition:background 160ms ease,color 160ms ease,transform 160ms ease}
.info-button:hover,.info-button:active{background:rgba(96,125,139,.12);color:var(--accent-strong);transform:scale(.98)}
.info-sheet-copy{font-size:15px;line-height:1.5;color:rgba(6,22,43,.76);padding:2px 0 4px}
.settings-premium-nav-sub,.settings-premium-row-copy small{display:none!important}
.settings-premium-row{min-height:62px!important}
.settings-premium-nav-item{min-height:48px!important;padding:10px 12px!important}
.settings-section-intro{display:none!important}
.settings-section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:0 2px}
.settings-premium-hero p,.flow-hero-sub{font-size:14px!important;line-height:1.45;color:rgba(6,22,43,.62)!important}

.zen-card-actionable{gap:16px!important;padding:24px 22px 18px!important;background:#fff!important;border:1px solid rgba(6,22,43,.06)!important;box-shadow:0 10px 26px rgba(6,22,43,.05)!important}
.zen-topline{align-items:flex-start!important}
.zen-card-label{margin-bottom:14px!important}
.zen-headline{font-size:2.05rem!important;line-height:1.08!important;font-weight:520!important;letter-spacing:0!important;margin:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:760px}
.zen-guidance,.zen-subcopy{display:none!important}
.zen-balance-pill{font-size:14px!important;font-weight:650!important;min-height:34px!important;padding:7px 13px!important;background:#fff!important;border:1px solid rgba(6,22,43,.08)!important;box-shadow:0 2px 8px rgba(6,22,43,.035)!important}
.zen-action-list{gap:0!important;margin-top:4px!important;border-top:1px solid rgba(217,226,236,.95)!important}
.zen-action-row{padding:14px 0!important;border-top:0!important;border-bottom:1px solid rgba(217,226,236,.95)!important}
.zen-action-label{font-size:15px!important;color:rgba(6,22,43,.78)!important;font-weight:520!important}
.zen-row-value{font-size:17px!important;font-weight:620!important}
.zen-cta{margin-top:0!important;padding-top:0!important;border-top:0!important;font-size:14px!important;min-height:30px!important;color:var(--text)!important}

.movimenti-core-list,.storico-voice-list{padding:6px!important;background:#fff!important;border:1px solid rgba(6,22,43,.055)!important;box-shadow:0 8px 22px rgba(6,22,43,.045)!important}
.movimento-core-row.movement-row-premium{display:grid!important;grid-template-columns:minmax(0,1fr) auto 18px!important;gap:14px!important;align-items:center!important;border-radius:18px!important;padding:16px 12px!important;margin:2px 0!important;border:0!important;background:transparent!important;transition:background 160ms ease,transform 160ms ease!important}
.movimento-core-row.movement-row-premium:hover{background:rgba(96,125,139,.07)!important;transform:none!important}
.mov-core-date{display:none!important}
.mov-core-main{min-width:0!important}
.mov-core-title{white-space:normal;overflow:visible;text-overflow:clip;margin-bottom:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mov-core-meta{white-space:normal;overflow:visible;text-overflow:clip;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mov-core-side{align-items:flex-end!important;gap:5px!important}
.mov-core-amount{font-size:17px!important;font-weight:650!important;letter-spacing:-.02em!important;white-space:nowrap}
.mov-core-badge{font-size:12px!important;line-height:1!important;min-height:22px!important;padding:5px 8px!important;border-radius:999px!important;background:rgba(6,22,43,.05)!important;color:rgba(6,22,43,.62)!important;font-weight:600!important}
.mov-core-badge.is-alert{background:rgba(181,77,77,.10)!important;color:#b54d4d!important}
.movement-row-singleline{padding:14px 12px!important;min-height:64px!important}
.movement-row-singleline .mov-core-main{min-width:0!important}
.mov-core-one-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;min-width:0;white-space:normal;overflow:visible}
.mov-core-one-line .mov-core-title{min-width:0;margin:0!important}
.mov-core-one-line .mov-core-meta{grid-column:2;min-width:0;margin:2px 0 0!important}
.movement-row-singleline .mov-core-side{gap:0!important}
.movement-row-singleline .mov-core-amount{font-size:15px!important}
.movimento-core-row .ios-chevron{font-size:18px!important;opacity:.42!important}

@media(max-width:860px){
  .settings-premium-shell{display:block!important}
  .settings-premium-content{padding:0!important}
  .settings-mobile-back{display:inline-flex!important}
  .settings-premium-hero{padding:18px 18px 12px!important}
  .settings-premium-row{border-radius:18px!important}
}
@media(max-width:767px){
  .t-heading{font-size:25px!important}
  .zen-card-actionable{padding:20px 18px 16px!important}
  .zen-headline{font-size:1.55rem!important}
  .zen-balance-pill{font-size:12px!important;padding:6px 10px!important}
  .zen-action-row{padding:13px 0!important}
  .movimento-core-row.movement-row-premium{grid-template-columns:minmax(0,1fr) auto 16px!important;padding:15px 10px!important;gap:10px!important;min-height:74px!important}
  .mov-core-amount{font-size:16px!important}
  .mov-core-meta{font-size:12px!important;line-height:1.35!important}
}

/* STEP 5/6 — Invisible onboarding + intelligence system */
.coach-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbfc);border:1px solid rgba(6,22,43,.06);box-shadow:0 8px 22px rgba(6,22,43,.045);margin-bottom:12px}.coach-orb{width:36px;height:36px;border-radius:999px;background:rgba(96,125,139,.13);display:flex;align-items:center;justify-content:center;color:var(--accent-strong);font-weight:800}.coach-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.coach-copy strong{font-size:15px;line-height:1.2}.coach-copy span{font-size:13px;line-height:1.35;color:rgba(6,22,43,.62)}
.smart-command-card{display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fff 0%,#f9fbfc 100%);border:1px solid rgba(6,22,43,.055)}.smart-command-head{display:flex;align-items:flex-start;gap:12px}.smart-command-orb{width:38px;height:38px;border-radius:999px;background:rgba(96,125,139,.13);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}.smart-command-primary{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:12px;align-items:center;text-align:left;padding:13px 14px;border:1px solid rgba(6,22,43,.065);border-radius:18px;background:rgba(255,255,255,.86);cursor:pointer}.smart-command-primary span{min-width:0;display:flex;flex-direction:column;gap:2px}.smart-command-primary strong{font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-command-primary small{font-size:13px;color:rgba(6,22,43,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-command-primary b{font-size:16px;white-space:nowrap}.smart-command-primary i{font-style:normal;opacity:.42;font-size:20px}.smart-command-secondary{display:flex;flex-direction:column;gap:6px}.smart-command-secondary button{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;padding:8px 4px;text-align:left;cursor:pointer;border-top:1px solid rgba(6,22,43,.055)}.smart-command-secondary span{font-size:14px;color:rgba(6,22,43,.76);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-command-secondary b{font-size:14px;white-space:nowrap}.automation-center{display:flex;flex-direction:column;gap:14px}.automation-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.automation-pill{font-size:12px;font-weight:700;color:var(--accent-strong);background:rgba(96,125,139,.12);border-radius:999px;padding:5px 9px}.automation-list{display:flex;flex-direction:column;border-top:1px solid rgba(6,22,43,.06)}.automation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:0;background:transparent;text-align:left;padding:13px 0;border-bottom:1px solid rgba(6,22,43,.06);cursor:pointer}.automation-row span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.automation-row strong{font-size:15px;line-height:1.2}.automation-row small{font-size:13px;color:rgba(6,22,43,.58);line-height:1.35}.switch{width:46px;height:28px;border-radius:999px;background:rgba(6,22,43,.12);position:relative;transition:background 160ms ease}.switch i{position:absolute;width:24px;height:24px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(6,22,43,.16);transition:transform 160ms ease}.switch.on{background:var(--accent)}.switch.on i{transform:translateX(18px)}.quick-start-card{display:flex;flex-direction:column;gap:12px}.quick-start-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-start-step{border:1px solid rgba(6,22,43,.06);border-radius:18px;padding:13px;background:rgba(255,255,255,.78)}.quick-start-step strong{display:block;font-size:14px}.quick-start-step small{display:block;margin-top:4px;font-size:12px;color:rgba(6,22,43,.58);line-height:1.35}.quick-start-step.done{opacity:.58}.movement-row-premium-v2{grid-template-columns:minmax(0,1fr) auto 18px!important}.mov-core-title-line{display:flex;align-items:center;gap:8px;min-width:0}.mov-core-kind-dot{width:7px;height:7px;border-radius:50%;background:rgba(96,125,139,.45);flex:0 0 auto}.mov-core-kind-dot.in{background:rgba(39,126,82,.55)}.mov-core-kind-dot.out{background:rgba(181,77,77,.50)}
@media(max-width:767px){.coach-card{grid-template-columns:32px minmax(0,1fr);padding:11px 12px}.coach-card .btn{grid-column:2;justify-self:flex-start}.quick-start-steps{grid-template-columns:1fr}.smart-command-primary{padding:12px}.automation-row{padding:12px 0}.smart-command-primary small,.smart-command-secondary span{white-space:normal}}
.zen-scenario-line{font-size:15px;line-height:1.38;color:rgba(6,22,43,.68);margin-top:-6px}.settings-premium-row-copy small{display:none!important}.history-chip,.sort-chip,.toggle-btn,.tab-btn,.btn-sm{font-size:12.5px!important}.settings-section-toolbar .t-small{display:none}.settings-section-toolbar{justify-content:flex-end!important}.quick-start-step{cursor:pointer;text-align:left}.quick-start-step.done{background:rgba(96,125,139,.05)}
.meter-reading-list{max-height:420px;overflow:auto}.meter-reading-row{grid-template-columns:minmax(0,1fr) auto}.meter-reading-value{font-weight:700;color:var(--text);white-space:nowrap}.meter-notice-row{grid-template-columns:minmax(0,1fr) auto}.settings-switch-wrap{display:inline-flex;align-items:center;cursor:pointer;min-width:46px}.settings-switch-wrap input{position:absolute;opacity:0;pointer-events:none}.settings-switch-wrap input:focus-visible + .switch{outline:2px solid color-mix(in srgb,var(--accent) 45%, transparent);outline-offset:3px}.notif-item-virtual{border-color:color-mix(in srgb,var(--accent) 24%, var(--border));background:color-mix(in srgb,var(--accent) 6%, var(--surface))}.vocabulary-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.vocabulary-title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal!important}.vocabulary-actions{width:auto!important;flex-wrap:nowrap!important;justify-content:flex-end!important;flex:0 0 auto}
@media(max-width:767px){.zen-scenario-line{font-size:14px}.settings-premium-hero p{display:block!important}.settings-premium-shell{display:block!important}.settings-premium-content{display:block!important}.settings-premium-sidebar{display:none!important}}


/* STEP 7 — Dashboard 30 giorni + density cleanup */
.period-slider-card{display:none!important}
.core-ux-dashboard{gap:14px!important}
.zen-card-actionable{padding:20px 20px 16px!important;gap:13px!important}
.zen-card-label{margin-bottom:8px!important}
.zen-headline{font-size:1.56rem!important;line-height:1.14!important;font-weight:560!important;letter-spacing:0!important}
.zen-balance-pill{font-size:12.5px!important;min-height:30px!important;padding:5px 10px!important}
.zen-action-row{padding:11px 0!important}
.zen-action-label{font-size:14px!important}
.zen-row-value{font-size:15px!important}
.zen-cta{font-size:12.5px!important;min-height:28px!important;padding:2px 0!important;font-weight:600!important;letter-spacing:0!important}
.smart-actions-card .t-heading{font-size:18px!important;letter-spacing:-.02em!important;line-height:1.18!important}
.smart-action-orb{font-size:13px!important;min-width:30px!important;width:30px!important;height:30px!important}

/* Movimenti: filtri più compatti e spaziature uniformi */
.history-inline-filters{margin-top:8px!important;margin-bottom:12px!important;padding:12px!important}
.history-inline-filters-head{min-height:34px!important;margin-bottom:0!important}
.history-inline-filters-body{padding-top:10px!important;gap:10px!important}
.history-search-card{padding:12px!important;margin-bottom:10px!important}
.history-search-row{gap:10px!important}
.history-search-input-wrap{min-height:44px!important}
.history-search-input{height:44px!important;font-size:14px!important}
.history-toolbar-top{padding-top:0!important;margin-top:0!important;gap:10px!important}
.history-filter-section>summary{padding:10px 12px!important;min-height:40px!important;font-size:13px!important}
.history-filter-summary{font-size:12px!important}
.history-check-row{font-size:13px!important;min-height:34px!important;padding:7px 10px!important}
.history-chip,.sort-chip,.toggle-btn,.tab-btn,.btn-sm{font-size:12px!important;min-height:30px!important;padding:5px 9px!important}
.movimenti-period-filters.compact{gap:6px!important}

@media(max-width:767px){
  .zen-card-actionable{padding:17px 16px 14px!important}
  .zen-headline{font-size:1.28rem!important}
  .history-search-card,.history-inline-filters{padding:10px!important;margin-bottom:8px!important}
  .history-search-input-wrap{min-height:42px!important}
  .history-search-input{height:42px!important}
}

/* STEP 8 — density and clarity cleanup */
.zen-scenario-line{display:none!important}
.zen-card-actionable{padding:16px 16px 13px!important;gap:9px!important}
.zen-card-label{margin-bottom:6px!important;font-size:11.5px!important;letter-spacing:.02em!important}
.zen-headline{font-size:1.32rem!important;line-height:1.15!important;font-weight:560!important;letter-spacing:0!important}
.zen-action-list{margin-top:2px!important}
.zen-action-row{padding:9px 0!important}
.zen-action-label{font-size:13px!important;font-weight:520!important}
.zen-row-value{font-size:14px!important;font-weight:620!important}
.zen-cta{font-size:12px!important;min-height:24px!important;padding:0!important}
.info-button{width:24px!important;height:24px!important;min-width:24px!important;font-size:12px!important}

.history-toolbar-top{gap:6px!important;margin-top:0!important;padding-top:0!important}
.history-search-card{padding:8px 10px!important;margin:2px 0 6px!important}
.history-search-row{gap:6px!important}
.history-search-input-wrap{min-height:38px!important}
.history-search-input{height:38px!important;font-size:13px!important}
.history-inline-filters{margin:4px 0 8px!important;padding:8px 10px!important}
.history-inline-filters-head{min-height:28px!important}
.history-inline-filters-body{padding-top:6px!important;gap:6px!important}
.history-filter-section>summary{padding:8px 10px!important;min-height:34px!important;font-size:12.5px!important}
.history-chip,.sort-chip,.toggle-btn,.tab-btn,.btn-sm{font-size:12px!important}
.movimenti-period-filters.compact{margin:2px 10px 6px!important;padding:3px!important;gap:3px!important}
.movimenti-period-filters.compact .tab-btn{min-height:34px!important;padding:6px 8px!important}

.settings-property-stats{display:none!important}
.settings-access-block{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 10px}
.access-code-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(6,22,43,.08);background:rgba(96,125,139,.07);border-radius:999px;padding:7px 10px;color:var(--text);font-size:12px;min-height:32px}
.access-code-pill span{color:rgba(6,22,43,.55);font-weight:520}
.access-code-pill strong{font-weight:650;letter-spacing:.025em}
.settings-pending-invites{display:flex;flex-direction:column;gap:8px;margin:10px 0 12px;padding:10px;border:1px solid rgba(6,22,43,.075);border-radius:16px;background:rgba(255,255,255,.7)}
.settings-pending-title{font-size:12px;font-weight:700;color:rgba(6,22,43,.58);text-transform:uppercase;letter-spacing:.06em}
.settings-pending-invite{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-radius:12px;background:#fff;border:1px solid rgba(6,22,43,.055)}
.settings-pending-invite>div{min-width:0}
.settings-property-actions-lean{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.settings-property-card{padding:16px!important}
.settings-property-list .ios-cell{padding:10px 0!important}

.settings-accordion-stack{display:flex;flex-direction:column;gap:10px}
.app-pref-accordion>summary,.settings-accordion>summary{font-size:14px!important;font-weight:560!important;min-height:42px!important;padding:10px 12px!important}
.app-pref-accordion .ios-cell-title{font-size:14px!important}
.app-pref-accordion .ios-cell-sub{font-size:12.5px!important}
.settings-accordion-body{padding:0 12px 12px!important}
@media(max-width:767px){
  .zen-card-actionable{padding:15px 14px 12px!important}
  .zen-headline{font-size:1.14rem!important}
  .history-search-card{margin-top:0!important}
  .history-inline-filters{margin-top:3px!important}
  .settings-access-block{gap:6px}
  .access-code-pill{font-size:11.5px;padding:6px 9px}
}


/* Step 9 real — Movimenti search/result density */
.history-search-meta{display:none!important}
.history-results-count{font-size:12px;font-weight:600;color:rgba(0,12,41,.55);margin:2px 0 8px;padding:0 2px;letter-spacing:.01em}
.storico-results-wrap{margin-top:4px!important}
.history-search-card{margin-bottom:6px!important}
.history-command-row{margin:4px 0 6px!important}
.movimenti-core-list{margin-top:0!important}


/* STEP 10 DATA FLOW / Movimenti density */
.history-results-count{font-size:12px!important;font-weight:600!important;color:rgba(0,12,41,.52)!important;margin:0 0 6px!important;padding:0 2px!important;letter-spacing:.01em!important;}
.history-command-row{margin:4px 0 6px!important;}
.history-search-card{margin-bottom:6px!important;}
.storico-results-wrap{margin-top:2px!important;}
.movimenti-core-list{padding:4px!important;}
.movimento-core-row{min-height:auto!important;padding:10px 12px!important;}
.movimenti-group-label{margin:8px 4px 4px!important;font-size:11px!important;font-weight:700!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:rgba(0,12,41,.45)!important;}


/* Data flow FE cleanup: compact open positions list */
#vociPagamento { max-height: 360px; overflow-y: auto; padding-right: 6px; -webkit-overflow-scrolling: touch; }
#vociPagamento .quota-row.reg-row { min-height: 68px; padding: 10px 14px; align-items: center; }
#vociPagamento .reg-row-title { font-size: 16px; line-height: 1.18; }
#vociPagamento .t-small { font-size: 13px; line-height: 1.22; }
#vociPagamento .tx-inline-input input { min-height: 46px; max-width: 106px; }

/* Step 7 polish finale */
#txConguaglioFields.hidden{display:none!important;}
.smart-actions-list-scroll{max-height:360px;overflow-y:auto;padding-right:4px;}
.smart-actions-list-scroll::-webkit-scrollbar{width:8px;}
.smart-actions-list-scroll::-webkit-scrollbar-thumb{background:#d7e0e4;border-radius:999px;}
.smart-actions-list-scroll .smart-action-row{min-height:64px;padding:10px 12px;}
.smart-actions-list-scroll .smart-action-copy strong{font-size:15px;line-height:1.2;}
.smart-actions-list-scroll .smart-action-copy small{font-size:12.5px;line-height:1.25;}
.smart-actions-list-scroll .smart-action-amount{font-size:15px;}

/* Serious fix 2026-04-25: azioni guidate sempre selezionabili una per una */
.smart-command-choice-list{gap:8px}
.smart-command-choice-list .smart-command-choice{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:12px;align-items:center;text-align:left;padding:13px 14px;border:1px solid rgba(6,22,43,.065);border-radius:18px;background:rgba(255,255,255,.86)}

/* Home / Azioni guidate: massimo 3 visibili + selezione multipla */
.smart-actions-list-max3{max-height:288px!important;overflow-y:auto!important;padding-right:6px;}
.smart-actions-bulk{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.smart-actions-bulk .btn[disabled]{opacity:.45;cursor:not-allowed;}
.smart-action-selectable{display:grid!important;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;border:1px solid rgba(6,22,43,.065);border-radius:18px;background:rgba(255,255,255,.86);padding:0 10px;min-height:82px;}
.smart-action-select{display:flex;align-items:center;justify-content:center;}
.smart-action-check{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;}
.smart-action-main{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:12px;align-items:center;text-align:left;border:0;background:transparent;padding:10px 0;cursor:pointer;}
.smart-action-selectable .smart-action-copy{min-width:0;}

/* === TX FLOW CHOICE (Nuovo movimento vs Regolazione) ===
   Serve a mostrare due card selezionabili all’inizio del flusso:
   - Nuovo movimento
   - Regola posizioni aperte
   UI stile Apple-like: semplice, chiaro, selezione evidente
*/

.tx-flow-choice {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}

.tx-flow-btn {
  flex: 1;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid var(--border, #ddd);
  background: var(--surface, #fff);
  text-align: left;
  cursor: pointer;
  transition: all 0.2s ease;
}

.tx-flow-btn.active {
  border-color: var(--text3, #000C29);
  background: rgba(0, 12, 41, 0.04);
}

.tx-flow-title {
  font-weight: 600;
}

.tx-flow-sub {
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-muted, #666);
}

/* Apple-style adaptive shell: tab bar on mobile, source list on desktop */
.app-body{display:block;min-width:0}
.app-source-list{display:none}
.source-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);display:none;flex:0 0 auto}
.source-dot.visible{display:inline-block}

@media (min-width: 980px){
  .app-wrapper{max-width:none;min-height:100vh;background:linear-gradient(180deg,#f8fafc 0%,#eef4f8 100%)}
  .app-header{position:sticky;top:0;z-index:120;padding:12px 24px}
  .app-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;width:100%;max-width:1440px;margin:0 auto;min-height:calc(100vh - 64px)}
  .app-source-list{display:flex;flex-direction:column;gap:22px;position:sticky;top:64px;align-self:start;height:calc(100vh - 64px);padding:24px 16px;border-right:1px solid rgba(6,22,43,.08);background:rgba(247,250,252,.74);backdrop-filter:blur(22px)}
  .source-list-group{display:flex;flex-direction:column;gap:6px}
  .source-list-label{padding:0 12px 4px;font-size:.68rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:rgba(6,22,43,.52)}
  .source-list-item.nav-item{width:100%;min-height:42px;margin:0;padding:9px 12px;border-radius:12px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;justify-content:initial;gap:10px;text-align:left;text-transform:none;letter-spacing:0;font-size:.92rem;font-weight:700;color:rgba(6,22,43,.82)!important;background:transparent;box-shadow:none}
  .source-list-item.nav-item svg{width:20px;height:20px}
  .source-list-item.nav-item.active{background:rgba(29,77,122,.12);color:var(--accent-strong)!important;box-shadow:inset 0 0 0 1px rgba(29,77,122,.09)}
  .source-add-btn{margin-top:auto;display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:10px 12px;border-radius:14px;background:var(--accent);color:#fff;box-shadow:0 12px 24px rgba(29,77,122,.18)}
  .source-add-btn span{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);font-size:1.2rem;line-height:1}
  .source-add-btn strong{font-size:.92rem}
  .main-content{padding:28px 32px 44px;max-width:1180px;width:100%;margin:0 auto}
  .bottom-nav{display:none}
  .side-panel{top:74px;right:24px;width:min(390px,32vw);max-height:calc(100vh - 98px);border-radius:18px}
  .modal-overlay{align-items:center}
  .modal{border-radius:18px;transform:scale(.98) translateY(10px);padding-bottom:0;box-shadow:0 24px 72px rgba(6,22,43,.2)}
  .modal-overlay.open .modal{transform:scale(1) translateY(0)}
  .modal-handle{display:none}
}

@media (max-width: 979px){
  .app-source-list{display:none!important}
  .bottom-nav .nav-item{min-width:0;font-size:.56rem!important;letter-spacing:0;padding-left:2px;padding-right:2px}
  .bottom-nav .nav-item svg{width:18px;height:18px}
  .nav-add{flex:0 0 48px}
  .nav-add-btn{width:44px;height:44px}
}

@media (max-width: 380px){
  .bottom-nav .nav-item{font-size:.5rem!important}
  .bottom-nav .nav-item svg{width:17px;height:17px}
  .nav-add{flex:0 0 42px}
  .nav-add-btn{width:40px;height:40px}
}

.settle-choice-sheet{display:flex;flex-direction:column;gap:10px}
.settle-choice-row{gap:12px;text-align:left}
.settle-choice-row .avatar{width:34px;height:34px}
.settle-choice-item-row{align-items:center}
.settle-choice-list{max-height:320px;overflow:auto}
.settle-choice-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}

/* Feedback reads like iOS banners without stealing the current context. */
.toast-container{top:calc(68px + env(safe-area-inset-top,0px))}
.toast{border-radius:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}
.toast-success{border-color:rgba(38,129,95,.25)}
.toast-error{border-color:rgba(177,75,75,.28)}
.toast-info{border-color:rgba(66,111,135,.28)}
.toast-warning{border-color:rgba(154,109,31,.28)}

/* Apple HIG implementation pass: adaptive shell, materials, hierarchy, accessibility */
:root{
  --apple-bg:#f5f7fa;
  --apple-bg-deep:#eaf0f5;
  --apple-material:rgba(255,255,255,.72);
  --apple-material-strong:rgba(255,255,255,.88);
  --apple-hairline:rgba(6,22,43,.08);
  --apple-shadow-1:0 1px 2px rgba(6,22,43,.04),0 8px 22px rgba(6,22,43,.045);
  --apple-shadow-2:0 8px 18px rgba(6,22,43,.06),0 22px 54px rgba(6,22,43,.08);
  --apple-shadow-3:0 18px 48px rgba(6,22,43,.14),0 42px 90px rgba(6,22,43,.16);
  --apple-radius:22px;
  --apple-radius-sm:16px;
  --apple-ease:cubic-bezier(.2,.8,.2,1);
  --ui-title:1.44rem;
  --ui-heading:1.05rem;
  --ui-body:.94rem;
  --ui-caption:.78rem;
}

html{font-size:100%}
body{background:radial-gradient(circle at 50% -18%,rgba(255,255,255,.94),transparent 34%),linear-gradient(180deg,var(--apple-bg),var(--apple-bg-deep));}
.app-wrapper{background:transparent}
.app-header,
.bottom-nav,
.app-source-list,
.side-panel,
.modal,
.toast{
  -webkit-backdrop-filter:blur(24px) saturate(1.18);
  backdrop-filter:blur(24px) saturate(1.18);
}
.app-header{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.68));
  border-bottom:1px solid var(--apple-hairline);
  box-shadow:0 1px 0 rgba(255,255,255,.74),0 10px 28px rgba(6,22,43,.045);
}
.header-screen-title:empty::before{content:'SatoriHome';}
.header-screen-title{
  font-size:var(--ui-heading);
  font-weight:680;
  letter-spacing:0;
}
.header-screen-subtitle{
  font-size:var(--ui-caption);
  color:rgba(6,22,43,.56);
}
.hdr-btn,.avatar{
  background:rgba(255,255,255,.66);
  border-color:rgba(6,22,43,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 8px 18px rgba(6,22,43,.055);
}
.hdr-btn:hover,.avatar:hover{transform:translateY(-1px)}
.hdr-btn:active,.avatar:active{transform:scale(.96)}

.main-content > .screen > div,
.dashboard-shell{gap:18px}
.card,
.kpi-box,
.summary-bar,
.ios-list,
.settings-menu,
.settings-content,
.settings-screen,
.login-card{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,252,253,.94));
  border-color:var(--apple-hairline);
  border-radius:var(--apple-radius);
  box-shadow:var(--apple-shadow-1);
}
.card{margin-bottom:0}
.section-label,.dashboard-section-label{
  color:rgba(6,22,43,.48)!important;
  font-size:.72rem!important;
  font-weight:760!important;
  letter-spacing:.08em!important;
}
.t-heading,.modal-title,.empty-title{
  font-size:var(--ui-heading)!important;
  letter-spacing:0!important;
}
.t-body,.ios-cell-title,.list-item-title,.form-input,.form-select,.form-textarea{
  font-size:var(--ui-body);
}
.t-small,.ios-cell-sub,.empty-sub,.form-hint{
  font-size:var(--ui-caption)!important;
  line-height:1.48;
}

.financial-hero{
  position:relative;
  overflow:hidden;
  padding:24px!important;
  background:
    radial-gradient(circle at top right,rgba(143,179,199,.23),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,252,.94))!important;
  box-shadow:var(--apple-shadow-2)!important;
}
.financial-hero::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  pointer-events:none;
}
.financial-hero .zen-topline{position:relative}
.financial-hero .zen-headline{
  max-width:760px;
  font-size:var(--ui-title)!important;
  line-height:1.12!important;
  letter-spacing:0!important;
  color:var(--text)!important;
}
.zen-subcopy{
  max-width:62ch;
  margin-top:8px!important;
  color:rgba(6,22,43,.58);
}
.financial-hero .zen-kpi-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.financial-hero .zen-kpi-box{
  min-height:82px;
  align-items:flex-start;
  text-align:left;
  border:1px solid rgba(6,22,43,.065);
  border-radius:18px;
  background:rgba(255,255,255,.72);
}
.financial-hero .zen-cta{
  min-height:44px!important;
  padding:10px 14px!important;
  border-radius:16px;
  background:rgba(255,255,255,.64);
  border:1px solid rgba(6,22,43,.06);
}
.zen-cta-stack{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.zen-cta-stack .zen-cta{margin-top:0!important}
.zen-cta-primary{justify-content:space-between!important;gap:12px;background:rgba(29,77,122,.1)!important}
.zen-cta-primary span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zen-cta-primary strong{font-size:13px;color:var(--accent-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56%}
.info-button{
  border-radius:50%;
  background:rgba(255,255,255,.74)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 8px 18px rgba(6,22,43,.055);
}

.dashboard-command-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.dashboard-command-strip .quick-create-btn{
  min-width:0;
  min-height:62px;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(6,22,43,.065);
  box-shadow:var(--apple-shadow-1);
}
.dashboard-command-strip .quick-create-btn span{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff;
  background:var(--accent);
}
.smart-reminder-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px!important;
  background:linear-gradient(180deg,#fff 0%,#f8fbfa 100%);
  border:1px solid rgba(6,22,43,.06);
}
.smart-reminder-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.smart-reminder-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.smart-reminder-row{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 18px;
  gap:12px;
  align-items:center;
  border:1px solid rgba(6,22,43,.065);
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.78);
  text-align:left;
  cursor:pointer;
}
.smart-reminder-row.warning{background:rgba(255,248,232,.88)}
.smart-reminder-row.danger{background:rgba(255,247,245,.9)}
.smart-reminder-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.smart-reminder-copy strong,
.smart-reminder-copy small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.smart-reminder-copy strong{font-size:15px;line-height:1.2}
.smart-reminder-copy small{font-size:13px;color:rgba(6,22,43,.58);line-height:1.35}
.smart-reminder-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  white-space:nowrap;
}
.smart-reminder-meta em{
  font-style:normal;
  font-size:12px;
  color:rgba(6,22,43,.58);
}
.smart-reminder-meta b{font-size:15px}
.smart-reminder-row i{
  font-style:normal;
  opacity:.42;
  font-size:20px;
}
.smart-reminder-empty{
  border:1px dashed rgba(6,22,43,.12);
  border-radius:14px;
  padding:12px;
  color:rgba(6,22,43,.62);
  font-size:13px;
  line-height:1.35;
}
.statistiche-shell{display:flex;flex-direction:column;gap:14px}
.stats-control-card{display:flex;flex-direction:column;gap:12px;padding:14px!important}
.stats-control-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stats-period-tabs{flex-wrap:wrap;justify-content:flex-start}
.stats-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stats-zen-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px!important;background:linear-gradient(180deg,#fff 0%,#f7fbfa 100%)}
.stats-zen-title{font-size:1.25rem;font-weight:760;line-height:1.18;letter-spacing:0;color:var(--text)}
.stats-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stats-kpi{min-width:0;border:1px solid rgba(6,22,43,.06);border-radius:18px;background:#fff;padding:13px;box-shadow:0 8px 22px rgba(6,22,43,.035)}
.stats-kpi span{display:block;font-size:12px;font-weight:760;color:rgba(6,22,43,.56);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats-kpi strong{display:block;margin-top:5px;font-size:1.2rem;line-height:1.15;white-space:nowrap;color:var(--text)}
.stats-kpi small{display:block;margin-top:4px;font-size:12px;color:rgba(6,22,43,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats-kpi.positive strong{color:var(--success)}
.stats-kpi.negative strong{color:var(--danger)}
.stats-panel{display:flex;flex-direction:column;gap:12px;padding:15px!important}
.stats-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.stats-legend{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(6,22,43,.58);white-space:nowrap}
.stats-legend span{width:10px;height:10px;border-radius:999px;display:inline-block}
.stats-legend .income,.stats-trend-bars .income{background:rgba(39,126,82,.68)}
.stats-legend .expense,.stats-trend-bars .expense{background:rgba(181,77,77,.58)}
.stats-trend-row{display:grid;grid-template-columns:72px minmax(0,1fr) 92px;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(6,22,43,.055)}
.stats-trend-label{font-size:13px;font-weight:700;color:rgba(6,22,43,.7)}
.stats-trend-bars{height:18px;border-radius:999px;background:rgba(6,22,43,.045);display:flex;overflow:hidden}
.stats-trend-bars span{display:block;height:100%;min-width:3px}
.stats-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stats-grid-two .stats-panel:last-child{grid-column:1/-1}
.stats-rank-list{display:flex;flex-direction:column;gap:7px}
.stats-rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:10px;padding:10px 2px;border:0;border-top:1px solid rgba(6,22,43,.055);background:transparent;text-align:left;cursor:pointer}
.stats-rank-row span{min-width:0;display:flex;flex-direction:column;gap:2px}
.stats-rank-row strong,.stats-rank-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats-rank-row strong{font-size:14px}
.stats-rank-row small{font-size:12px;color:rgba(6,22,43,.58)}
.stats-rank-row b{font-size:14px;white-space:nowrap}
.stats-rank-row i{font-style:normal;opacity:.42;font-size:18px}
.stats-profit-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:12px}
.stats-profit-list,.stats-profit-shares{display:flex;flex-direction:column;gap:8px}
.stats-profit-transfer,.stats-profit-share{min-width:0;border-top:1px solid rgba(6,22,43,.055);padding-top:9px}
.stats-profit-transfer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.stats-profit-transfer span,.stats-profit-share{min-width:0;display:flex;flex-direction:column;gap:2px}
.stats-profit-transfer strong,.stats-profit-transfer small,.stats-profit-share span,.stats-profit-share small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stats-profit-transfer small,.stats-profit-share small{font-size:12px;color:rgba(6,22,43,.58)}
.stats-profit-transfer b{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.history-command-row{align-items:center;justify-content:space-between}
.history-stats-link{flex:0 0 auto}
.history-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;padding:10px 12px;border:1px solid rgba(6,22,43,.06);border-radius:14px;background:rgba(255,255,255,.78)}
.history-bulk-bar.active{align-items:flex-start;background:rgba(255,247,245,.86);border-color:rgba(181,77,77,.18)}
.history-bulk-bar strong{display:block;font-size:14px;line-height:1.2}
.history-bulk-bar small{display:block;font-size:12px;color:rgba(6,22,43,.58);line-height:1.3}
.history-selectable-row{grid-template-columns:32px minmax(0,1fr) minmax(96px,max-content)!important;cursor:pointer}
.history-selectable-row.is-disabled{opacity:.56}
.history-row-check{width:18px;height:18px;accent-color:var(--danger);justify-self:center}

.bottom-nav{
  background:rgba(255,255,255,.76);
  border-color:rgba(6,22,43,.08);
  box-shadow:0 20px 52px rgba(6,22,43,.16);
}
.bottom-nav .nav-item{
  color:rgba(6,22,43,.62)!important;
  transition:transform .18s var(--apple-ease),background .18s var(--apple-ease),color .18s var(--apple-ease);
}
.bottom-nav .nav-item.active{
  background:rgba(29,77,122,.12)!important;
  color:var(--accent-strong)!important;
  box-shadow:inset 0 0 0 1px rgba(29,77,122,.08);
}
.nav-add-btn{box-shadow:0 14px 30px rgba(29,77,122,.28)}

.modal-overlay{
  background:rgba(6,22,43,.34);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.modal{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(255,255,255,.74);
  box-shadow:var(--apple-shadow-3);
}
.sticky-modal-header,.panel-header{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.74));
  -webkit-backdrop-filter:blur(18px) saturate(1.1);
  backdrop-filter:blur(18px) saturate(1.1);
}
.side-panel{
  background:rgba(255,255,255,.88);
  border-color:rgba(6,22,43,.08);
  box-shadow:var(--apple-shadow-3);
}

.btn,.nav-item,.quick-create-btn,.smart-action-row,.zen-action-row,.ios-cell,.settings-menu-item,.source-list-item,.source-add-btn,.hdr-btn,.avatar{
  transition:transform .18s var(--apple-ease),box-shadow .18s var(--apple-ease),background .18s var(--apple-ease),border-color .18s var(--apple-ease),opacity .18s var(--apple-ease);
}
.btn:active,.quick-create-btn:active,.smart-action-row:active,.zen-action-row:active,.ios-cell:active,.settings-menu-item:active,.source-list-item:active,.source-add-btn:active{
  transform:scale(.985);
}
.just-updated{
  animation:satoriPulse 1.2s var(--apple-ease);
}
@keyframes satoriPulse{
  0%{box-shadow:0 0 0 0 rgba(29,77,122,.22),var(--apple-shadow-1)}
  100%{box-shadow:0 0 0 14px rgba(29,77,122,0),var(--apple-shadow-1)}
}
.screen.active{
  animation:satoriScreenIn .22s var(--apple-ease);
}
@keyframes satoriScreenIn{
  from{opacity:.001;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.screen-loading{
  min-height:220px;
  display:grid;
  place-items:center;
  border-radius:var(--apple-radius);
  background:linear-gradient(90deg,rgba(255,255,255,.58),rgba(255,255,255,.9),rgba(255,255,255,.58));
  background-size:220% 100%;
  animation:satoriShimmer 1.35s linear infinite;
}
@keyframes satoriShimmer{
  to{background-position:-220% 0}
}

@media (min-width: 980px){
  .app-body{grid-template-columns:276px minmax(0,1fr)}
  .app-source-list{
    background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(247,250,252,.58));
    border-right:1px solid rgba(6,22,43,.075);
    box-shadow:inset -1px 0 0 rgba(255,255,255,.55);
  }
  .source-list-item.nav-item{
    min-height:46px;
    border-radius:14px;
  }
  .source-list-item.nav-item.active{
    background:rgba(255,255,255,.74)!important;
    box-shadow:inset 0 0 0 1px rgba(6,22,43,.055),0 8px 18px rgba(6,22,43,.05);
  }
  .main-content{padding-top:34px}
  .core-ux-dashboard{
    max-width:1040px;
    margin:0 auto;
  }
}

@media (max-width: 767px){
  :root{
    --ui-title:1.28rem;
    --ui-heading:1rem;
    --ui-body:.92rem;
    --ui-caption:.76rem;
  }
  .financial-hero{padding:18px!important}
  .financial-hero .zen-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .financial-hero .zen-kpi-box{
    min-height:76px;
    padding:14px 12px!important;
  }
  .financial-hero .zen-kpi-box .kpi-value{
    font-size:1.12rem;
    white-space:nowrap;
  }
  .dashboard-command-strip{gap:8px}
  .dashboard-command-strip .quick-create-btn{
    min-height:54px;
    padding:8px 6px;
    flex-direction:column;
    gap:4px;
    font-size:.78rem;
  }
  .dashboard-command-strip .quick-create-btn span{
    width:22px;
    height:22px;
  }
  .smart-reminder-card{padding:14px!important}
  .smart-reminder-head{flex-direction:column}
  .smart-reminder-row{grid-template-columns:minmax(0,1fr) auto 16px;padding:11px}
  .smart-reminder-copy strong,
  .smart-reminder-copy small{white-space:normal}
  .landing-tool{grid-template-columns:1fr;gap:12px}
  .landing-copy,.landing-preview{min-height:auto}
  .landing-copy{padding:12px 0}
  .stats-filter-grid,.stats-kpi-grid,.stats-grid-two{grid-template-columns:1fr}
  .stats-profit-body{grid-template-columns:1fr}
  .stats-zen-card,.stats-control-row,.stats-panel-head{flex-direction:column;align-items:stretch}
  .stats-trend-row{grid-template-columns:58px minmax(0,1fr);gap:8px}
  .stats-trend-row>div:last-child{grid-column:2;justify-self:end}
  .stats-rank-row strong,.stats-rank-row small{white-space:normal}
  .modal-overlay{padding:0}
  .modal{
    border-radius:26px 26px 0 0;
    border-bottom:0;
  }
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}

@media (prefers-contrast: more){
  :root{
    --apple-hairline:rgba(6,22,43,.22);
    --border:#9caaba;
    --text:#000;
    --text2:#000;
    --text3:#0b1726;
  }
  .card,.kpi-box,.summary-bar,.ios-list,.settings-menu,.settings-content,.modal,.side-panel,.bottom-nav,.app-source-list{
    border-color:rgba(0,0,0,.22)!important;
  }
  .btn-primary,.nav-add-btn,.source-add-btn{background:#063f70!important}
}

@media (forced-colors: active){
  .card,.kpi-box,.summary-bar,.ios-list,.settings-menu,.settings-content,.modal,.side-panel,.bottom-nav,.app-source-list,.btn,.form-input,.form-select,.form-textarea{
    border:1px solid CanvasText;
    box-shadow:none!important;
  }
}

html{
  min-height:100%;
  background:var(--ef-bg-raised, #f5f7f9);
}
body{
  min-height:100dvh;
  background:
    radial-gradient(circle at 50% -18%,rgba(255,255,255,.94),transparent 34%),
    linear-gradient(180deg,var(--apple-bg, #f7fafc),var(--apple-bg-deep, #edf3f7)) fixed!important;
}
#landingPage,
#loginScreen,
#waitingScreen,
#forgotScreen,
#appShell,
.app-wrapper{
  min-height:100dvh;
}

/* Transaction wizard premium pass: clearer guided flow without changing data rules */
#modalTransazione .modal-large{
  width:min(920px, calc(100vw - 32px));
  max-width:920px;
  height:min(760px, 88vh);
  min-height:min(720px, 88vh);
  overflow:hidden;
}
#modalTransazione .modal-header{
  align-items:flex-start;
  gap:18px;
  height:88px;
  min-height:88px;
  flex:0 0 auto;
}
#modalTransazione .modal-header > div:first-child{
  min-width:0;
}
#modalTransazione .modal-title{
  font-size:1.18rem!important;
}
#modalTransazione .modal-subtitle{
  max-width:68ch;
  color:rgba(6,22,43,.6);
  min-height:20px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#modalTransazione .tx-modal-body{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  gap:18px;
  padding-top:18px;
}
#modalTransazione .tx-modal-body > *{
  min-width:0;
  max-width:100%;
}
#modalTransazione .tx-flow-choice{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
  min-width:0;
}
#modalTransazione .tx-flow-btn{
  position:relative;
  width:100%;
  min-width:0;
  min-height:92px;
  padding:16px 16px 14px;
  border-radius:20px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(6,22,43,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 20px rgba(6,22,43,.045);
}
#modalTransazione .tx-flow-btn::after{
  content:'';
  position:absolute;
  top:14px;
  right:14px;
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid rgba(6,22,43,.18);
  background:rgba(255,255,255,.7);
}
#modalTransazione .tx-flow-btn.active{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(227,237,243,.72));
  border-color:rgba(29,77,122,.28);
  box-shadow:0 12px 28px rgba(29,77,122,.09),inset 0 0 0 1px rgba(29,77,122,.08);
}
#modalTransazione .tx-flow-btn.active::after{
  background:var(--accent);
  border-color:var(--accent);
  box-shadow:inset 0 0 0 4px #fff;
}
#modalTransazione .tx-flow-title{
  padding-right:28px;
  font-size:1rem;
  line-height:1.2;
}
#modalTransazione .tx-flow-sub{
  max-width:30ch;
  margin-top:6px;
  color:rgba(6,22,43,.58);
  line-height:1.42;
}

#modalTransazione .tx-stepper-card{
  position:sticky;
  top:0;
  z-index:4;
  margin-bottom:0;
  padding:14px 16px 16px;
  border-radius:22px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(6,22,43,.075);
  box-shadow:0 12px 28px rgba(6,22,43,.055);
  -webkit-backdrop-filter:blur(18px) saturate(1.12);
  backdrop-filter:blur(18px) saturate(1.12);
}
#modalTransazione .tx-stepper-card::after{
  content:'';
  display:block;
  height:4px;
  margin-top:14px;
  border-radius:999px;
  background:
    linear-gradient(90deg,var(--accent),var(--accent)) 0 0 / var(--tx-progress,25%) 100% no-repeat,
    rgba(6,22,43,.08);
}
#modalTransazione .tx-stepper-head{
  margin-bottom:12px;
}
#modalTransazione .tx-stepper-kicker{
  color:rgba(6,22,43,.5);
}
#modalTransazione .tx-stepper-status{
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(29,77,122,.1);
  color:var(--accent-strong);
}
#modalTransazione .tx-stepper-track{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  width:100%;
  min-width:0;
}
#modalTransazione .tx-step-chip{
  justify-content:center;
  min-width:0;
  min-height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.64);
  border-color:rgba(6,22,43,.07);
  color:rgba(6,22,43,.58);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#modalTransazione .tx-step-chip.active{
  color:var(--accent-strong);
  background:#fff;
  box-shadow:0 8px 18px rgba(6,22,43,.06),inset 0 0 0 1px rgba(29,77,122,.14);
}
#modalTransazione .tx-step-chip.is-complete{
  color:rgba(38,129,95,.95);
  background:rgba(223,241,232,.72);
}
#modalTransazione .tx-step-section.tx-step-visible{
  animation:txStepIn .2s var(--apple-ease);
}
@keyframes txStepIn{
  from{opacity:.001;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
#modalTransazione .tx-section-card{
  min-width:0;
  border-radius:22px;
  border-color:rgba(6,22,43,.075);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,252,253,.92));
  box-shadow:var(--apple-shadow-1);
}
#modalTransazione .form-label{
  color:rgba(6,22,43,.68)!important;
}
#modalTransazione .form-input,
#modalTransazione .form-select,
#modalTransazione .form-textarea{
  background:rgba(255,255,255,.78);
  border-color:rgba(6,22,43,.09);
}
#modalTransazione .checkbox-row{
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(6,22,43,.075);
  background:rgba(255,255,255,.78);
}
#modalTransazione .tx-modal-footer{
  gap:10px;
  padding-top:12px;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.94));
  border-top:1px solid rgba(6,22,43,.075);
  -webkit-backdrop-filter:blur(18px) saturate(1.12);
  backdrop-filter:blur(18px) saturate(1.12);
}
#modalTransazione .tx-modal-footer .btn{
  min-height:46px;
}
.tx-confirm-preview{
  display:grid;
  gap:8px;
}
.tx-preview-row{
  display:grid;
  grid-template-columns:minmax(110px,.8fr) minmax(0,1.4fr);
  gap:12px;
  align-items:center;
  padding:9px 0;
  border-top:1px solid rgba(6,22,43,.06);
}
.tx-preview-row:first-child{
  border-top:0;
}
.tx-preview-row span{
  color:rgba(6,22,43,.52);
  font-size:.78rem;
  font-weight:700;
}
.tx-preview-row strong{
  min-width:0;
  overflow-wrap:anywhere;
  font-weight:720;
}
.add-menu-list{
  gap:8px;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.add-menu-row{
  min-height:74px;
  border:1px solid rgba(6,22,43,.075)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.78)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center!important;
}
.add-menu-row .ios-cell-title,
.add-menu-row .ios-cell-sub{
  text-align:left;
}
.add-menu-row .ios-chevron{
  justify-self:end;
}

@media (max-width: 767px){
  #modalTransazione .tx-flow-choice,
  #modalTransazione .tx-stepper-track{
    grid-template-columns:1fr;
  }
  #modalTransazione .tx-flow-btn{
    min-height:78px;
  }
  #modalTransazione .tx-stepper-card{
    position:relative;
    top:auto;
  }
  #modalTransazione .modal-large{
    width:100vw;
    max-width:100vw;
    height:min(760px, 92vh);
    min-height:0;
  }
  #modalTransazione .tx-flow-choice,
  #modalTransazione .tx-stepper-track{
    width:100%;
    max-width:100%;
  }
  #modalTransazione .tx-step-chip{
    justify-content:flex-start;
  }
  #modalTransazione .modal-footer{
    flex-wrap:wrap;
  }
  #modalTransazione .modal-footer .btn{
    flex-basis:calc(50% - 5px);
  }
  #modalTransazione #txSaveStepBtn{
    flex-basis:100%;
  }
  .tx-preview-row{
    grid-template-columns:1fr;
    gap:2px;
  }
}

/* Movimenti + Saldi premium pass: scan-first financial lists */
.saldi-control-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:24px!important;
  background:
    radial-gradient(circle at top right,rgba(143,179,199,.2),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,250,252,.94))!important;
  box-shadow:var(--apple-shadow-2)!important;
}
.saldi-control-title{
  font-size:1.44rem;
  line-height:1.12;
  font-weight:720;
  letter-spacing:0;
  color:var(--text);
}
.saldi-control-sub{
  margin-top:8px;
  color:rgba(6,22,43,.58);
  font-size:.9rem;
  line-height:1.45;
}
.saldi-control-action{
  display:flex;
  justify-content:flex-end;
  min-width:148px;
}
.saldi-accordion-group{
  gap:12px!important;
}
.saldi-premium-accordion{
  border:1px solid rgba(6,22,43,.075)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.84)!important;
  box-shadow:var(--apple-shadow-1)!important;
}
.saldi-premium-accordion[open]{
  box-shadow:var(--apple-shadow-2)!important;
}
.saldi-premium-summary{
  min-height:66px;
  padding:16px 18px!important;
}
.saldi-property-name{
  display:block;
  font-weight:720;
  letter-spacing:0;
}
.saldi-property-meta{
  display:block;
  margin-top:3px;
  font-size:.78rem;
  color:rgba(6,22,43,.55);
}
.saldi-property-total{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(6,22,43,.055);
  color:rgba(6,22,43,.64);
  font-weight:720;
  white-space:nowrap;
}
.saldi-property-total.has-balance{
  background:rgba(29,77,122,.1);
  color:var(--accent-strong);
}
.list-item-saldo{
  min-height:66px;
  padding:10px 8px!important;
  border-radius:18px;
  border-bottom:0!important;
}
.list-item-saldo:hover{
  background:rgba(96,125,139,.07);
}
.saldo-row-grid{
  column-gap:14px!important;
}
.saldo-col-avatar .avatar{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 7px 16px rgba(6,22,43,.11);
}
.saldo-name{
  font-weight:720;
  letter-spacing:0;
}
.saldo-inline-amount{
  font-size:1rem!important;
  font-weight:780!important;
}
.status-indicator{
  border:1px solid rgba(6,22,43,.055);
}

.history-command-surface{
  padding:16px!important;
  background:
    radial-gradient(circle at top right,rgba(143,179,199,.14),transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(249,251,253,.92))!important;
}
.history-search-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.history-search-title{
  font-size:1.14rem;
  line-height:1.15;
  font-weight:720;
  color:var(--text);
}
.history-search-card .history-filter-trigger{
  min-height:38px;
  border-radius:999px;
  white-space:nowrap;
}
.history-search-input-wrap{
  min-height:48px!important;
}
.history-search-input{
  height:48px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.78)!important;
  border-color:rgba(6,22,43,.08)!important;
}
.history-search-submit{
  background:var(--accent)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 8px 18px rgba(29,77,122,.2);
}
.history-inline-filters{
  border-radius:22px!important;
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(6,22,43,.075)!important;
  box-shadow:var(--apple-shadow-1)!important;
}
.history-inline-filters:not(.open){
  padding:10px 12px!important;
}
.history-inline-filters-head .section-label{
  margin-bottom:0!important;
}
.history-filter-section{
  border-color:rgba(6,22,43,.075)!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}
.history-chip,
.sort-chip,
.history-check-row{
  border-color:rgba(6,22,43,.075)!important;
}
.history-chip.active,
.sort-chip.active{
  background:rgba(29,77,122,.12)!important;
  color:var(--accent-strong)!important;
  box-shadow:inset 0 0 0 1px rgba(29,77,122,.1);
}
.history-command-row{
  display:flex;
  justify-content:flex-end;
}
.history-sort-near-results{
  padding:4px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(6,22,43,.065);
  box-shadow:var(--apple-shadow-1);
}
.history-results-count{
  margin:8px 2px 8px!important;
  color:rgba(6,22,43,.5)!important;
}
.movimenti-core-list,
.storico-voice-list{
  border-radius:22px!important;
  padding:6px!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(6,22,43,.075)!important;
  box-shadow:var(--apple-shadow-1)!important;
}
.compact-detail-row,
.movimento-core-row.movement-row-premium{
  min-height:74px!important;
  border-radius:17px!important;
  background:transparent!important;
}
.compact-detail-row:hover,
.movimento-core-row.movement-row-premium:hover{
  background:rgba(96,125,139,.075)!important;
}
.compact-detail-main{
  min-width:0;
}
.compact-detail-amount,
.mov-core-amount{
  font-variant-numeric:tabular-nums;
}
.detail-chip,
.mov-core-badge{
  border:1px solid rgba(6,22,43,.06);
  background:rgba(6,22,43,.045)!important;
}
.detail-quota-list .ios-cell{
  min-height:62px;
}
.detail-quota-list .ios-cell>div:first-child,
.compact-detail-main,
.mov-core-main,
.saldo-col-main,
.saldo-name,
.saldi-property-name,
.saldi-property-meta{
  min-width:0;
}
.detail-quota-list .ios-cell .amount-positive,
.detail-quota-list .ios-cell .amount-negative,
.detail-quota-list .ios-cell .amount-neutral,
.compact-detail-amount,
.mov-core-side,
.saldo-col-amount,
.saldi-property-total,
.list-item-right{
  flex-shrink:0;
}
.compact-detail-amount,
.mov-core-amount,
.saldo-inline-amount,
.saldi-property-total,
.list-item-right{
  white-space:nowrap;
}
.detail-quota-list .ios-cell-title,
.detail-quota-list .ios-cell-sub{
  overflow-wrap:anywhere;
}
.history-pagination{
  margin-top:10px;
  padding:8px 2px;
}
.history-active-filter-summary{
  padding:12px 14px!important;
  margin:8px 0 12px!important;
}
.history-active-filter-summary .history-inline-filters-head{
  min-height:0!important;
}
.history-active-filter-summary .inline-row{
  flex-shrink:0;
}
.saldi-control-action .t-small{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.saldi-control-action{
  min-width:0;
}

@media (max-width: 767px){
  .saldi-control-hero{
    grid-template-columns:1fr;
    align-items:start;
    padding:18px!important;
  }
  .saldi-control-title{
    font-size:1.22rem;
  }
  .saldi-control-action{
    width:100%;
    justify-content:flex-start;
  }
  .saldi-control-action .btn{
    width:100%;
  }
  .history-search-head{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .history-search-title{
    font-size:1rem;
  }
  .history-command-row{
    justify-content:flex-start;
  }
  .history-sort-near-results{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .history-sort-near-results .sort-chip{
    justify-content:center;
  }
  .history-active-filter-summary .history-inline-filters-head{
    align-items:flex-start;
  }
  .history-active-filter-summary .inline-row{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .compact-detail-row .compact-detail-main{
    grid-template-columns:minmax(0,1fr)!important;
    gap:3px!important;
  }
  .compact-detail-row .compact-detail-amount{
    min-width:0!important;
    text-align:left!important;
  }
  .compact-detail-row .compact-detail-action{
    min-width:auto!important;
  }
  .detail-quota-list .ios-cell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
  }
  .settings-voice-head,
  .settings-annualita-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr);
    gap:8px;
  }
  .settings-voice-actions{
    width:100%;
    justify-content:flex-start!important;
  }
  .settings-voice-actions .btn{
    flex:1 1 126px;
  }
}

@media (max-width: 430px){
  .financial-hero .zen-topline{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .financial-hero .zen-headline{
    font-size:1.08rem!important;
  }
  .history-search-head .history-filter-trigger{
    width:100%;
  }
  .saldi-premium-summary{
    align-items:flex-start!important;
    flex-direction:column;
  }
  .saldi-property-total{
    align-self:flex-start;
  }
  .settings-voice-actions .btn{
    flex-basis:100%;
  }
}

/* Final product polish: navigation semantics, readable type, transparency preferences */
:root{
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter",system-ui,sans-serif;
  --brand-font:'Comfortaa',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
}
.logo-text,
.login-title,
.landing-header .logo-text,
.t-hero,
.landing-hero h1,
.financial-hero .zen-headline,
.saldi-control-title,
.empty-title,
.state-card .empty-title{
  font-family:var(--brand-font);
}
.financial-hero .zen-headline,
.saldi-control-title,
.empty-title{
  font-weight:520!important;
}
.kpi-value,
.zen-row-value,
.saldo-inline-amount,
.mov-core-amount,
.compact-detail-amount,
.saldi-property-total,
.amount-positive,
.amount-negative,
.amount-neutral{
  font-family:var(--font);
  font-variant-numeric:tabular-nums;
}
.nav-item[aria-current="page"],
.source-list-item[aria-current="page"]{
  color:var(--accent-strong)!important;
}
.nav-item[aria-current="page"] svg,
.source-list-item[aria-current="page"] svg{
  stroke-width:2;
}
.header-screen-title{
  text-wrap:balance;
}
.btn,
.quick-create-btn,
.source-add-btn,
.history-filter-trigger,
.saldi-property-total,
.status-indicator{
  text-wrap:balance;
}
.btn,
.quick-create-btn,
.source-add-btn{
  white-space:normal;
}
@media (hover:none){
  .hdr-btn:hover,
  .avatar:hover,
  .list-item-saldo:hover,
  .compact-detail-row:hover,
  .movimento-core-row.movement-row-premium:hover{
    transform:none;
    background:inherit;
  }
}
@media (prefers-reduced-transparency: reduce){
  .app-header,
  .bottom-nav,
  .app-source-list,
  .side-panel,
  .modal,
  .toast,
  .sticky-modal-header,
  .panel-header,
  #modalTransazione .tx-stepper-card,
  #modalTransazione .tx-modal-footer{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:#fff!important;
  }
  body{
    background:var(--apple-bg)!important;
  }
}

/* UX fixes 2026-04-30 */
.app-back-btn{
  border:1px solid rgba(6,22,43,.08);
  background:rgba(255,255,255,.82);
  border-radius:999px;
  min-height:34px;
  padding:6px 11px;
  margin-right:10px;
  color:var(--text);
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(6,22,43,.04);
}
.app-back-btn:hover{background:#fff}
#modalTransazione.tx-editing-existing #txFlowChoiceCard,
#modalTransazione.tx-editing-existing #txEntryModeSection > .form-group:first-child{
  display:none!important;
}
#modalTransazione.tx-editing-existing [data-entry-mode]{
  pointer-events:none;
  opacity:.66;
}
.history-filter-range-grid.compact,
.history-date-row.compact{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.history-filter-range-grid.compact .form-input,
.history-date-row.compact .form-input{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.history-filter-range-grid.compact .form-label,
.history-date-row.compact .form-label{
  min-width:0;
}
.zen-card-actionable .zen-topline{
  margin-bottom:0!important;
}
.settings-economy-page{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.settings-economy-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:1px solid rgba(6,22,43,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(6,22,43,.035);
}
.settings-economy-title{
  margin:2px 0 6px;
  font-size:17px;
  font-weight:760;
  line-height:1.25;
  color:var(--text);
}
.settings-economy-actions,
.settings-economy-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.settings-economy-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
  min-width:210px;
}
.settings-economy-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.settings-economy-stats>div{
  padding:12px 14px;
  border:1px solid rgba(6,22,43,.08);
  border-radius:16px;
  background:#fff;
}
.settings-economy-stats strong{
  display:block;
  font-size:20px;
  line-height:1;
  color:var(--text);
}
.settings-economy-stats span{
  display:block;
  margin-top:5px;
  font-size:12px;
  font-weight:650;
  color:var(--muted);
}
.settings-economy-section{
  min-width:0;
}
.settings-economy-section-head{
  margin-bottom:10px;
  padding:0 2px;
}
.settings-economy-list,
.settings-economy-property{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.settings-economy-property{
  padding:14px;
  border:1px solid rgba(6,22,43,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(6,22,43,.035);
}
.settings-economy-property-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.settings-economy-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.settings-empty-inline{
  padding:10px 2px 2px;
}
@media(max-width:720px){
  .history-filter-range-grid.compact,
  .history-date-row.compact{
    grid-template-columns:1fr!important;
  }
  .app-back-btn{
    max-width:118px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .settings-economy-hero,
  .settings-economy-property-head,
  .settings-economy-section-head{
    flex-direction:column;
    align-items:stretch;
  }
  .settings-economy-actions{
    min-width:0;
    justify-content:flex-start;
  }
  .settings-economy-stats,
  .settings-economy-grid{
    grid-template-columns:1fr;
  }
}

/* Tranche 1 fixes — compact surfaces and clearer operational lists */
#modalTransazione .tx-stepper-card:not(.compact-stepper){
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px 14px;
  padding:9px 12px;
  border-radius:14px;
  margin-bottom:10px;
}
#modalTransazione .tx-stepper-card:not(.compact-stepper)::after{
  display:none;
}
#modalTransazione .tx-stepper-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:0;
  white-space:nowrap;
}
#modalTransazione .tx-stepper-kicker{display:none}
#modalTransazione .tx-stepper-status{
  font-size:.72rem;
  letter-spacing:0;
  text-transform:none;
}
#modalTransazione .tx-stepper-track{
  flex-wrap:nowrap;
  overflow-x:auto;
  gap:6px;
  justify-content:flex-start;
}
#modalTransazione .tx-step-chip{
  flex:0 0 auto;
  padding:6px 9px;
  font-size:.72rem;
}
.tx-detail-actions{
  justify-content:flex-start!important;
  align-items:center;
}
.history-filter-list{
  max-height:260px;
  overflow-y:auto;
}
.history-check-row-sheet{
  min-height:36px;
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.history-filter-range-grid.compact{
  grid-template-columns:repeat(2,minmax(112px,150px))!important;
}
.history-date-row.compact{
  grid-template-columns:repeat(2,minmax(126px,164px))!important;
  justify-content:flex-start;
}
.history-filter-range-grid.compact .form-input,
.history-date-row.compact .form-input{
  height:40px!important;
  min-height:40px!important;
}
.currency-input-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  height:40px;
  max-width:150px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  padding:0 10px;
}
.currency-input-wrap span{
  flex:0 0 auto;
  font-weight:750;
  color:rgba(6,22,43,.58);
}
.currency-input-wrap .form-input{
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  min-width:0;
  height:38px!important;
}
.settings-subheader.ios-backbar{
  align-items:center;
}
.settings-stack-header .settings-title-block{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.settings-property-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.settings-property-fact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:12px 14px;
  border:1px solid rgba(6,22,43,.075);
  border-radius:14px;
  background:#fff;
  text-align:left;
}
button.settings-property-fact{width:100%;font:inherit;color:inherit;cursor:pointer}
.settings-property-fact>div{
  min-width:0;
}
.settings-property-fact strong{
  flex:0 0 auto;
  font-size:18px;
  color:var(--text);
}
.property-detail-list .ios-cell,
.property-detail-list button.ios-cell{
  text-align:left;
}
.property-detail-list .ios-cell>div:first-child,
.property-detail-list button.ios-cell>div:first-child{
  flex:1 1 auto;
  min-width:0;
}
.detail-participants-cell{
  align-items:flex-start;
}
.detail-participant-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:8px;
}
.detail-participant-row{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 8px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  padding:4px 0;
}
.detail-participant-row:not(:disabled){
  cursor:pointer;
}
.detail-participant-row:not(:disabled):hover{
  background:rgba(6,22,43,.035);
}
.detail-participant-row span{
  font-weight:650;
  color:var(--text);
}
.detail-participant-row small{
  color:rgba(6,22,43,.58);
  font-size:var(--ui-meta);
}
.vocabulary-scroll-list{
  max-height:360px;
  overflow-y:auto;
}
.vocabulary-scroll-list .ios-cell{
  min-height:46px;
  padding:10px 14px;
}
.calendar-event-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}
.calendar-event-copy{
  min-width:0;
}
.calendar-event-side{
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:4px;
  white-space:nowrap;
}
.calendar-event-side strong{
  font-size:.96rem;
}
.movimenti-month-header{
  padding:14px 16px 8px;
  font-size:.82rem;
  font-weight:800;
  text-transform:capitalize;
  color:var(--text);
  background:rgba(248,250,252,.92);
  border-bottom:1px solid var(--line);
}
.movimenti-splitwise-list{
  overflow:hidden;
}
.movement-row-splitwise{
  display:grid!important;
  grid-template-columns:62px minmax(0,1fr) auto 16px;
  gap:12px;
  align-items:center;
}
.movement-row-splitwise .mov-core-date{
  color:rgba(6,22,43,.58);
  font-size:.82rem;
  font-weight:700;
  text-transform:lowercase;
  text-align:left;
  white-space:nowrap;
}
.movement-row-splitwise .mov-core-main{
  min-width:0;
}
.movement-row-splitwise .mov-core-title{
  font-weight:800;
}
.movement-row-splitwise .mov-core-side{
  align-items:flex-end;
}
.tx-voice-link-row{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
}
.unit-member-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,240px);
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
}
.unit-member-row:last-child{
  border-bottom:0;
}
.unit-member-quotes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.unit-member-quotes .form-input{
  min-width:0;
  height:38px;
}
@media(max-width:720px){
  #modalTransazione .tx-stepper-card:not(.compact-stepper){
    grid-template-columns:1fr;
  }
  .history-filter-range-grid.compact,
  .history-date-row.compact,
  .settings-property-facts,
  .unit-member-row{
    grid-template-columns:1fr!important;
  }
  .movement-row-splitwise{
    grid-template-columns:48px minmax(0,1fr) auto!important;
  }
  .movement-row-splitwise .ios-chevron{
    display:none;
  }
}

/* Experience-First implementation 2026-05-05
   Centralized tokens and final cascade layer for the Apple-grade cockpit pass. */
:root{
  --ef-brand-font:'Comfortaa',-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --ef-text-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,system-ui,sans-serif;
  --ef-bg:#f5f7fa;
  --ef-bg-raised:#fbfcfd;
  --ef-surface:rgba(255,255,255,.92);
  --ef-surface-soft:rgba(255,255,255,.68);
  --ef-glass:rgba(255,255,255,.72);
  --ef-glass-strong:rgba(255,255,255,.88);
  --ef-line:rgba(6,22,43,.075);
  --ef-line-strong:rgba(6,22,43,.14);
  --ef-shadow-1:0 1px 2px rgba(6,22,43,.035),0 8px 20px rgba(6,22,43,.045);
  --ef-shadow-2:0 10px 28px rgba(6,22,43,.065),0 24px 56px rgba(6,22,43,.08);
  --ef-shadow-3:0 22px 54px rgba(6,22,43,.16),0 48px 98px rgba(6,22,43,.18);
  --ef-radius-xl:28px;
  --ef-radius-lg:22px;
  --ef-radius-md:16px;
  --ef-radius-sm:12px;
  --ef-spring:cubic-bezier(.2,.9,.18,1);
  --ef-press:scale(.97);
  --font:var(--ef-text-font);
  --brand-font:var(--ef-brand-font);
  --radius:var(--ef-radius-lg);
  --radius-sm:var(--ef-radius-md);
  --shadow:var(--ef-shadow-1);
  --shadow-lg:var(--ef-shadow-3);
}

body,
input,
select,
textarea,
button{
  font-family:var(--ef-text-font);
}

body *{
  letter-spacing:0!important;
}

.logo-text,
.login-title,
.t-hero,
.t-title,
.t-heading,
.modal-title,
.header-screen-title,
.financial-hero .zen-headline,
.empty-title,
.state-card .empty-title{
  font-family:var(--ef-brand-font);
}

.kpi-value,
.zen-headline,
.zen-cta,
.saldo-inline-amount,
.mov-core-amount,
.compact-detail-amount,
.saldi-property-total,
.amount-positive,
.amount-negative,
.amount-neutral,
.list-item-right,
.settle-choice-right strong{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1,"cv01" 1;
}

.history-selectable-row.movimento-core-row.movement-row-premium,
.history-selectable-row.movement-row-premium-v2{
  grid-template-columns:32px minmax(0,1fr) minmax(96px,max-content)!important;
  gap:14px!important;
  align-items:center!important;
}
.history-selectable-row .mov-core-date{
  display:none!important;
}
.history-selectable-row .mov-core-main{
  min-width:0!important;
}
.history-selectable-row .mov-core-side{
  justify-self:end;
  min-width:96px;
}
.history-selectable-row .history-row-check{
  margin:0;
}

.app-header,
.bottom-nav,
.app-source-list,
.modal,
.side-panel,
.toast,
.sticky-modal-header,
.panel-header{
  background:var(--ef-glass);
  border-color:var(--ef-line);
  -webkit-backdrop-filter:blur(26px) saturate(1.45);
  backdrop-filter:blur(26px) saturate(1.45);
}

.app-header{
  box-shadow:0 1px 0 rgba(255,255,255,.82),0 12px 34px rgba(6,22,43,.045);
}

.card,
.kpi-box,
.ios-list,
.summary-bar,
.settings-menu,
.settings-content,
.settings-screen,
.login-card{
  background:linear-gradient(180deg,var(--ef-surface),rgba(250,252,253,.9));
  border:1px solid var(--ef-line);
  border-radius:var(--ef-radius-lg);
  box-shadow:var(--ef-shadow-1);
}

.ios-cell,
.list-item,
.notif-item,
.storico-row{
  border-color:var(--ef-line);
}

.main-content,
.dashboard-shell,
.core-ux-dashboard{
  min-width:0;
}

.core-ux-dashboard{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.experience-hero.financial-hero{
  display:grid;
  gap:22px;
  padding:clamp(22px,4vw,38px)!important;
  border:1px solid rgba(255,255,255,.82);
  border-radius:var(--ef-radius-xl);
  background:
    radial-gradient(circle at 92% 0%,rgba(143,179,199,.24),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,252,.9))!important;
  box-shadow:var(--ef-shadow-2)!important;
}

.hero-context-row,
.property-card-header,
.property-header-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.property-card-header > div:first-child{
  min-width:0;
}

.property-header-actions{
  flex-shrink:0;
}

.zen-hero-copy{
  display:grid;
  gap:8px;
}

.experience-hero .zen-headline{
  max-width:780px;
  margin:0;
  font-size:2.7rem!important;
  line-height:1.08!important;
  letter-spacing:0!important;
  font-weight:520!important;
  color:var(--text)!important;
  text-wrap:balance;
}

.experience-hero .zen-subcopy{
  max-width:64ch;
  margin:0!important;
  font-family:var(--ef-text-font);
  font-size:1rem;
  line-height:1.55;
  color:rgba(6,22,43,.62);
}

.experience-hero .zen-kpi-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px;
}

.experience-hero .zen-kpi-box{
  display:grid;
  align-content:center;
  justify-items:start;
  min-height:104px;
  padding:18px!important;
  border-radius:var(--ef-radius-lg);
  background:rgba(255,255,255,.68);
  border-color:rgba(6,22,43,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}

.experience-hero .kpi-label{
  order:0;
  margin-bottom:8px;
}

.experience-hero .kpi-value{
  order:1;
  font-size:1.72rem;
  line-height:1.05;
  letter-spacing:0;
}

.experience-hero .zen-cta{
  justify-self:start;
  min-height:44px!important;
  padding:9px 14px!important;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  color:rgba(6,22,43,.72)!important;
  border:1px solid rgba(6,22,43,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76);
  font-weight:650;
}

.experience-hero .zen-cta.is-empty,
.experience-hero .zen-cta:disabled{
  color:rgba(6,22,43,.58);
  background:rgba(255,255,255,.68);
  box-shadow:none;
}

.experience-hero .zen-cta-secondary::after{
  content:'›';
  margin-left:8px;
  color:rgba(6,22,43,.46);
}

.dashboard-command-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:0;
}

.quick-create-card.dashboard-command-strip{
  background:transparent;
  border:0;
  box-shadow:none;
}

.quick-create-btn{
  min-height:64px;
  padding:12px;
  border:1px solid var(--ef-line);
  border-radius:var(--ef-radius-md);
  background:rgba(255,255,255,.72);
  box-shadow:var(--ef-shadow-1);
}

.quick-create-btn span{
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
}

.property-cockpit-card{
  padding:20px!important;
}

.property-cockpit-card .property-kpi-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px;
}

.property-cockpit-card .kpi-box{
  min-width:0;
  min-height:82px;
  padding:14px 12px!important;
}

.property-cockpit-card .kpi-value{
  font-size:1.18rem!important;
  line-height:1.08;
  white-space:nowrap;
}

.property-cockpit-card .kpi-label{
  line-height:1.22;
}

.property-due-pill{
  margin-top:12px;
}

.property-cockpit-card .status-row{
  justify-content:flex-start;
}

.saldo-person-row.list-item-saldo{
  min-height:58px;
  padding:8px 14px!important;
  border-radius:16px;
  background:rgba(255,255,255,.54);
}

.saldo-person-row + .saldo-person-row{
  margin-top:6px;
}

.saldo-person-layout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  min-width:0;
}

.saldo-person-identity{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.saldo-person-avatar{
  flex:0 0 auto;
}

.saldo-person-avatar .avatar{
  width:38px!important;
  height:38px!important;
  border-radius:13px!important;
  font-size:.78rem!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 6px 14px rgba(6,22,43,.08)!important;
}

.saldo-person-copy{
  min-width:0;
  text-align:left;
}

.saldo-person-row .saldo-name{
  font-size:.98rem!important;
  font-weight:680!important;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.saldo-person-sub{
  margin-top:3px;
  font-size:.76rem;
  line-height:1.25;
  color:rgba(6,22,43,.56);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.saldo-person-amount{
  flex:0 0 auto;
  min-width:92px;
  text-align:right;
  font-size:1.02rem!important;
  font-weight:760!important;
  font-variant-numeric:tabular-nums;
}

.context-menu-btn{
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(6,22,43,.62);
  background:rgba(255,255,255,.62);
  border:1px solid var(--ef-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  font-family:var(--ef-text-font);
  font-size:1.08rem;
  letter-spacing:.08em;
  line-height:1;
}

.contextual-action-head{
  padding:2px 2px 14px;
}

.contextual-action-list .ios-cell,
.add-menu-list .ios-cell{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:58px;
  width:100%;
  padding:14px 16px!important;
  text-align:left!important;
  justify-content:stretch!important;
}

.contextual-action-list .ios-cell > div:first-child,
.add-menu-list .ios-cell > div:first-child{
  min-width:0;
  text-align:left!important;
}

.contextual-action-list .ios-cell-title,
.contextual-action-list .ios-cell-sub,
.add-menu-list .ios-cell-title,
.add-menu-list .ios-cell-sub{
  text-align:left!important;
}

.contextual-action-list .ios-cell-title,
.add-menu-list .ios-cell-title{
  font-size:.98rem!important;
  line-height:1.25;
}

.contextual-action-list .ios-cell-sub,
.add-menu-list .ios-cell-sub{
  margin-top:4px;
  color:rgba(6,22,43,.58)!important;
  white-space:normal;
}

.contextual-action-list .ios-chevron,
.add-menu-list .ios-chevron{
  justify-self:end;
  color:rgba(6,22,43,.38);
}

.btn,
.hdr-btn,
.avatar,
.nav-item,
.source-list-item,
.source-add-btn,
.nav-add-btn,
.quick-create-btn,
.context-menu-btn,
.zen-cta,
.kpi-box,
.ios-cell,
.card{
  transition:
    transform .22s var(--ef-spring),
    box-shadow .22s var(--ef-spring),
    background-color .22s var(--ef-spring),
    border-color .22s var(--ef-spring),
    opacity .18s ease;
}

.btn:active,
.hdr-btn:active,
.avatar:active,
.nav-item:active,
.source-list-item:active,
.source-add-btn:active,
.nav-add-btn:active,
.quick-create-btn:active,
.context-menu-btn:active,
.zen-cta:active,
.kpi-box:active,
.ios-cell:active{
  transform:var(--ef-press);
}

.card:hover,
.kpi-box:hover,
.ios-cell:hover{
  box-shadow:var(--ef-shadow-1);
}

.context-menu-btn:hover,
.quick-create-btn:hover,
.source-list-item:hover,
.bottom-nav .nav-item:hover{
  background:rgba(255,255,255,.86);
}

.btn,
.hdr-btn,
.avatar,
.nav-item,
.source-list-item,
.source-add-btn,
.nav-add-btn,
.quick-create-btn,
.context-menu-btn,
.zen-cta,
.ios-cell,
.form-input,
.form-select,
.form-textarea{
  min-height:44px;
}

@media (min-width:980px){
  .app-body{
    grid-template-columns:280px minmax(0,1fr);
  }
  .app-source-list{
    background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(246,249,252,.58));
    border-right:1px solid var(--ef-line);
  }
  .source-list-item.nav-item{
    min-height:46px;
    font-family:var(--ef-text-font);
    font-weight:650;
  }
  .source-add-btn{
    min-height:50px;
    border-radius:var(--ef-radius-md);
  }
  .main-content{
    padding:34px 34px 52px;
  }
}

@media (max-width:767px){
  html{
    font-size:100%;
  }
  .main-content{
    padding:16px 12px calc(118px + env(safe-area-inset-bottom,0px));
  }
  .experience-hero.financial-hero{
    padding:20px 16px!important;
    gap:18px;
  }
  .experience-hero .zen-headline{
    font-size:1.62rem!important;
  }
  .experience-hero .zen-subcopy{
    font-size:.94rem;
  }
  .dashboard-command-strip{
    grid-template-columns:1fr;
  }
  .property-cockpit-card .property-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px;
  }
  .property-cockpit-card .kpi-box{
    min-height:76px;
    padding:12px 10px!important;
  }
  .property-cockpit-card .kpi-value{
    font-size:1.02rem!important;
  }
  .property-cockpit-card .kpi-label{
    font-size:.62rem!important;
  }
  .experience-hero .zen-kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px;
  }
  .experience-hero .zen-kpi-box{
    min-height:86px;
  }
  .experience-hero .kpi-value{
    font-size:1.28rem;
  }
  .hero-context-row,
  .property-card-header{
    align-items:flex-start;
  }
  .property-header-actions{
    align-items:flex-end;
    flex-direction:column;
  }
  .saldo-person-row.list-item-saldo{
    padding:9px 12px!important;
  }
  .saldo-person-layout{
    gap:10px;
  }
  .saldo-person-avatar .avatar{
    width:34px!important;
    height:34px!important;
    border-radius:12px!important;
  }
  .saldo-person-amount{
    min-width:82px;
    font-size:.96rem!important;
  }
  .bottom-nav{
    min-height:64px;
    background:rgba(255,255,255,.78);
  }
  .bottom-nav .nav-item{
    min-height:56px;
  }
  .nav-add-btn{
    width:48px;
    height:48px;
  }
}

@media (hover:none){
  .card:hover,
  .kpi-box:hover,
  .ios-cell:hover,
  .quick-create-btn:hover{
    transform:none;
    box-shadow:var(--ef-shadow-1);
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}

@media (prefers-reduced-transparency: reduce){
  .app-header,
  .bottom-nav,
  .app-source-list,
  .modal,
  .side-panel,
  .toast,
  .sticky-modal-header,
  .panel-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:var(--ef-bg-raised)!important;
  }
}

@media (prefers-contrast: more){
  :root{
    --ef-line:rgba(0,0,0,.24);
    --ef-line-strong:rgba(0,0,0,.38);
  }
  .card,
  .kpi-box,
  .ios-list,
  .summary-bar,
  .settings-menu,
  .settings-content,
  .settings-screen,
  .modal,
  .side-panel,
  .bottom-nav,
  .app-source-list{
    border-color:var(--ef-line-strong)!important;
  }
}
