:root{--navy:#09283b;--navy2:#0d354b;--teal:#10b996;--teal2:#078b72;--ink:#11283d;--muted:#66798b;--bg:#f4f7f9;--card:#fff;--line:#dfe7ec;--red:#d84f5f;--amber:#e99a22;--blue:#3d83e7;--shadow:0 12px 35px rgba(16,42,61,.09);--radius:17px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Segoe UI,Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.boot{height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.logo{font-size:30px;font-weight:800;color:var(--navy)}.logo span{color:var(--teal)}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.side{position:fixed;left:0;top:0;bottom:0;width:238px;padding:26px 16px 18px;background:linear-gradient(180deg,var(--navy),#061d2c);color:white;display:flex;flex-direction:column;z-index:20}.brand{font-size:28px;font-weight:800;padding:4px 14px 28px}.brand span{color:#29d5af}.brand small{display:block;font-size:11px;font-weight:400;color:#91a7b5;margin-top:7px}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#d8e5ec;text-align:left;border-radius:12px;padding:12px 13px;font-weight:650;display:flex;align-items:center;gap:11px}.nav button:hover{background:rgba(255,255,255,.07)}.nav button.active{color:#fff;background:linear-gradient(90deg,rgba(16,185,150,.9),rgba(16,185,150,.48))}.nav .add{border:1px solid rgba(255,255,255,.15);margin:5px 0}.side-bottom{margin-top:auto}.local-note{padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.06);font-size:11px;color:#b8c8d1;line-height:1.45}.profile{display:flex;gap:10px;align-items:center;padding:15px 6px 0}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--teal),#2c83c5);display:grid;place-items:center;font-weight:800}.profile strong{display:block;font-size:12px}.profile small{display:block;color:#9db0bb;font-size:10px;margin-top:3px}.main{grid-column:2;min-width:0}.top{height:78px;position:sticky;top:0;z-index:12;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 29px;display:flex;align-items:center;justify-content:space-between}.heading h1{font-size:23px;margin:0 0 4px}.heading p{margin:0;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:9px}.content{max-width:1450px;margin:auto;padding:25px 29px 90px}.grid{display:grid;gap:18px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi{padding:18px;display:flex;align-items:center;gap:13px;min-height:102px}.kpi .ico{width:45px;height:45px;border-radius:13px;color:white;display:grid;place-items:center;font-size:20px}.ico.green{background:linear-gradient(135deg,#23cb99,#079d78)}.ico.blue{background:linear-gradient(135deg,#60a7ff,#2e75dd)}.ico.amber{background:linear-gradient(135deg,#ffc04d,#ec9315)}.ico.violet{background:linear-gradient(135deg,#a58cf9,#765ce7)}.kpi small{display:block;color:var(--muted);font-size:11px}.kpi strong{display:block;font-size:22px;margin-top:5px}.kpi span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.dashboard-grid{grid-template-columns:1.08fr .92fr}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px 13px}.card-head h2{margin:0;font-size:15px}.card-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;padding:10px 14px;font-weight:700}.btn:hover{filter:brightness(.98)}.btn.primary{background:linear-gradient(135deg,var(--teal),var(--teal2));border-color:transparent;color:white;box-shadow:0 7px 15px rgba(16,185,150,.22)}.btn.danger{color:var(--red);border-color:#f0c8ce}.btn.small{padding:7px 10px;font-size:11px}.btn.icon{padding:9px 11px}.month{min-width:140px}.list{padding:0 18px 12px}.expense-item{display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.thumb{width:42px;height:42px;border-radius:10px;background:#eef3f6;overflow:hidden;display:grid;place-items:center;color:#738797}.thumb img{width:100%;height:100%;object-fit:cover}.expense-item strong{font-size:12px}.expense-item small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.amount{text-align:right;font-weight:800}.badge{display:inline-block;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;margin-top:4px}.badge.ok{background:#e6f8f2;color:#08785e}.badge.warn{background:#fff2dc;color:#9b6200}.category-bars{padding:4px 18px 18px}.bar-row{display:grid;grid-template-columns:110px 1fr 75px;align-items:center;gap:10px;margin:14px 0;font-size:11px}.bar{height:8px;background:#edf1f4;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--teal))}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:0 18px 15px}.field-inline{border:1px solid var(--line);height:40px;border-radius:10px;padding:0 11px;background:#fff;min-width:230px}.table-wrap{overflow:auto;border-top:1px solid var(--line)}table{width:100%;border-collapse:collapse}.table{min-width:900px}.table th{font-size:9px;text-transform:uppercase;letter-spacing:.45px;color:#6f8191;text-align:left;padding:11px 13px;background:#f7f9fa}.table td{padding:12px 13px;border-top:1px solid #edf1f4;font-size:11px;vertical-align:middle}.row-actions{display:flex;gap:5px}.row-actions button{border:0;background:#f0f4f6;border-radius:8px;padding:6px 8px;color:#536a7b}.empty{padding:55px 25px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:16px;margin-bottom:6px}.form-layout{grid-template-columns:minmax(300px,.82fr) minmax(390px,1.18fr);align-items:start}.receipt-card{padding:18px}.receipt-drop{min-height:430px;border:2px dashed #c6d3db;border-radius:15px;background:linear-gradient(145deg,#f0f4f6,#e5ecef);display:grid;place-items:center;text-align:center;padding:18px;overflow:hidden}.receipt-drop.has-file{padding:0;border-style:solid}.receipt-drop img{width:100%;height:430px;object-fit:contain;background:#e9eef1}.receipt-drop iframe{width:100%;height:430px;border:0}.receipt-drop .placeholder{color:#728696}.receipt-drop .placeholder b{display:block;color:var(--ink);font-size:15px;margin:8px}.receipt-actions{display:flex;gap:9px;margin-top:12px}.receipt-actions .btn{flex:1}.form-card{padding:21px}.form-card h2{margin:0 0 18px;font-size:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:750;color:#3f5668}.field label em{color:var(--red);font-style:normal}.field input,.field select,.field textarea{width:100%;border:1px solid #d8e2e8;border-radius:10px;background:#fff;padding:10px 11px;color:var(--ink);outline:0}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#61cdb6;box-shadow:0 0 0 3px rgba(16,185,150,.1)}.hint{grid-column:1/-1;border-radius:10px;background:#fff4dd;color:#8b5b06;padding:10px 12px;font-size:11px;display:none}.form-footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:17px;margin-top:19px}.report-grid{grid-template-columns:320px minmax(0,1fr);align-items:start}.summary{padding:18px}.summary h2{font-size:15px;margin:0 0 12px}.summary-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;font-size:11px}.status-box{padding:13px;border-radius:12px;background:#fff4df;color:#8f5d00;margin-bottom:16px;font-size:11px;line-height:1.45}.status-box.ok{background:#e8f8f3;color:#08785e}.preview{padding:18px;overflow:hidden}.excel{border:1px solid #ced9df;border-radius:11px;overflow:auto;background:white}.excel-title{padding:12px;text-align:center;font-size:12px;font-weight:800;background:#eef7f4}.mini{min-width:1000px}.mini th,.mini td{font-size:8px;padding:6px;border:1px solid #dbe3e7}.mini th{background:#dff2eb}.report-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px;flex-wrap:wrap}.settings{grid-template-columns:1fr 1fr}.settings .card{padding:20px}.settings h2{margin:0 0 4px;font-size:15px}.settings p{margin:0 0 17px;color:var(--muted);font-size:11px}.setting-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px}.toast{position:fixed;right:22px;bottom:22px;background:#0b2a3d;color:white;border-radius:12px;padding:12px 15px;box-shadow:0 14px 34px rgba(0,0,0,.22);z-index:100;max-width:360px;font-size:12px;animation:toastin .2s ease}.toast.error{background:#8c2633}.toast.success{background:#08765e}@keyframes toastin{from{transform:translateY(10px);opacity:0}}.mobile-top,.bottom-nav{display:none}.dialog-back{position:fixed;inset:0;background:rgba(5,24,36,.5);z-index:80;display:grid;place-items:center;padding:20px}.dialog{background:#fff;max-width:500px;width:100%;border-radius:16px;padding:20px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.dialog h3{margin:0 0 8px}.dialog p{font-size:12px;line-height:1.55;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}@media(max-width:1000px){.kpis{grid-template-columns:1fr 1fr}.dashboard-grid,.form-layout,.report-grid{grid-template-columns:1fr}.settings{grid-template-columns:1fr}}@media(max-width:720px){.shell{display:block}.side,.top{display:none}.main{display:block}.mobile-top{display:flex;position:sticky;top:0;height:62px;background:#fff;z-index:15;border-bottom:1px solid var(--line);align-items:center;justify-content:space-between;padding:0 16px}.mobile-top .brand{padding:0;color:var(--navy);font-size:21px}.content{padding:16px 13px 88px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:13px;min-height:90px;display:block}.kpi .ico{width:31px;height:31px;font-size:15px;margin-bottom:8px}.kpi strong{font-size:18px}.dashboard-grid{gap:12px}.card{border-radius:14px}.bottom-nav{display:grid;position:fixed;bottom:0;left:0;right:0;height:70px;background:#fff;border-top:1px solid var(--line);z-index:30;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{border:0;background:transparent;color:#718493;font-size:9px;font-weight:700;display:grid;place-content:center;gap:3px}.bottom-nav button.active{color:var(--teal2)}.bottom-nav button.add-mobile{width:48px;height:48px;border-radius:50%;margin:-15px auto 0;background:var(--teal);color:#fff;font-size:23px;box-shadow:0 9px 20px rgba(16,185,150,.3)}.heading-mobile h1{font-size:20px;margin:0 0 5px}.heading-mobile p{color:var(--muted);font-size:11px;margin:0 0 15px}.form-grid{grid-template-columns:1fr}.receipt-drop,.receipt-drop img,.receipt-drop iframe{min-height:310px;height:310px}.form-card{padding:17px}.table{min-width:780px}.report-actions .btn{flex:1}.settings{gap:12px}.toast{left:13px;right:13px;bottom:84px}.field-inline{min-width:100%;flex:1}.month{min-width:126px}.card-head{align-items:flex-start}.card-head .btn{white-space:nowrap}}

/* SimplER brand identity v1.1 */
.boot-logo{width:min(244px,70vw);height:auto;display:block;margin:0 auto 12px}.brand{font-size:0}.brand>img{display:block;width:178px;height:auto;max-width:100%}.brand>small{font-size:11px}.side .brand{padding:2px 12px 26px}.side .brand>img{width:182px}.mobile-top .brand{padding:0}.mobile-top .brand>img{width:132px;height:auto}.mobile-brand-logo{display:flex;align-items:center}.mobile-brand-logo>img{display:block}@media(max-width:720px){.mobile-top .brand>img{width:128px}.boot-logo{width:210px}}

/* Manuale d'uso - v1.4 */
.mobile-actions{display:flex;align-items:center;gap:8px}.mobile-help{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);font-size:18px;font-weight:900}.mobile-help.active{background:var(--teal);border-color:var(--teal);color:#fff}.manual-layout{display:grid;gap:16px}.manual-hero{padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff,#eef9f6)}.manual-hero h2{font-size:27px;margin:8px 0 6px;color:var(--navy)}.manual-hero p{margin:0;color:var(--muted);font-size:13px}.manual-hero img{width:118px;height:118px;border-radius:26px;box-shadow:0 18px 36px rgba(9,40,59,.15)}.manual-version{display:inline-block;padding:6px 9px;border-radius:999px;background:#dff6ef;color:#08785e;font-size:9px;font-weight:900;letter-spacing:.7px}.manual-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.manual-actions a{text-decoration:none}.manual-quick{padding:4px 0}.manual-quick h2{font-size:16px;margin:0 0 11px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-step{width:100%;font:inherit;text-align:left;color:inherit;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:flex-start;gap:10px;box-shadow:var(--shadow);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.quick-step:hover{transform:translateY(-2px);border-color:#8fd8c7;box-shadow:0 12px 28px rgba(9,40,59,.12)}.quick-step:focus-visible{outline:3px solid rgba(20,190,156,.28);outline-offset:3px}.quick-step i{margin-left:auto;color:var(--teal2);font-style:normal;font-size:16px;font-weight:900;line-height:28px}.quick-step:active{transform:translateY(0)}.quick-step>b{width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:var(--teal);color:#fff;display:grid;place-items:center}.quick-step span{font-size:10px;color:var(--muted);line-height:1.4}.quick-step strong{display:block;color:var(--ink);font-size:12px;margin-bottom:2px}.manual-sections{display:grid;gap:9px}.manual-sections details{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 14px rgba(12,38,54,.04);overflow:hidden}.manual-sections summary{list-style:none;cursor:pointer;padding:15px 17px;display:flex;align-items:center;gap:11px;font-weight:800;color:var(--navy);font-size:13px}.manual-sections summary::-webkit-details-marker{display:none}.manual-sections summary:after{content:'+';margin-left:auto;font-size:18px;color:var(--teal2)}.manual-sections details[open] summary{border-bottom:1px solid var(--line);background:#f8fbfa}.manual-sections details[open] summary:after{content:'−'}.manual-sections summary span{width:28px;height:28px;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:11px}.manual-body{padding:16px 19px 19px;color:#294759;font-size:12px;line-height:1.55}.manual-body h3{font-size:13px;margin:8px 0 5px;color:var(--navy)}.manual-body ol{margin:7px 0 12px;padding-left:22px}.manual-body li{margin:6px 0}.manual-body code{background:#edf3f5;border-radius:5px;padding:2px 5px;font-size:11px}.manual-note{border-left:4px solid var(--teal);background:#e8f8f3;color:#08785e;padding:10px 12px;border-radius:8px;margin-top:12px}.manual-note.warning{border-color:#f2a529;background:#fff4dd;color:#8b5b06}.manual-note.danger{border-color:#d75a69;background:#fcecef;color:#8c2633}.manual-table{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.manual-table>div{border:1px solid var(--line);border-radius:10px;padding:11px;background:#f8fafb}.manual-table b{display:block;color:var(--navy);font-size:11px;margin-bottom:3px}.manual-table span{font-size:10px;color:var(--muted)}.faq h3{margin-top:12px}.faq p{margin:3px 0 8px}.manual-footer{padding:19px 21px;display:flex;align-items:center;justify-content:space-between;gap:15px}.manual-footer h2{font-size:15px;margin:0 0 4px}.manual-footer p{font-size:11px;color:var(--muted);margin:0}.manual-footer a{text-decoration:none}.settings-help a{text-decoration:none}@media(max-width:1000px){.quick-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.mobile-actions .month{min-width:114px;max-width:128px;height:38px;padding:0 6px;font-size:11px}.manual-hero{padding:19px;align-items:flex-start}.manual-hero h2{font-size:22px}.manual-hero img{width:72px;height:72px;border-radius:18px}.manual-actions .btn{flex:1;min-width:130px}.quick-grid{grid-template-columns:1fr}.manual-table{grid-template-columns:1fr}.manual-footer{align-items:flex-start;flex-direction:column}.manual-footer .btn{width:100%;text-align:center}.manual-sections summary{font-size:12px;padding:13px}.manual-body{padding:14px;font-size:11px}}@media print{.side,.top,.mobile-top,.bottom-nav,.heading-mobile,.manual-actions,.manual-footer{display:none!important}.main{display:block}.content{padding:0}.manual-layout{gap:10px}.manual-sections details{break-inside:avoid;box-shadow:none}.manual-sections details:not([open]) .manual-body{display:block}.manual-sections summary:after{display:none}.manual-hero img{width:70px;height:70px}.card{box-shadow:none}}

.manual-sections details{scroll-margin-top:92px}.manual-target-flash{animation:manualFlash 1.25s ease}@keyframes manualFlash{0%{box-shadow:0 0 0 0 rgba(20,190,156,.5)}45%{box-shadow:0 0 0 7px rgba(20,190,156,.18)}100%{box-shadow:0 4px 14px rgba(12,38,54,.04)}}

/* v1.4 - sincronizzazione cloud */
.sync-note{border-left:3px solid rgba(255,255,255,.22)}
.sync-note.online{border-left-color:#17c7a3;background:rgba(23,199,163,.10)}
.sync-btn{display:flex;align-items:center;gap:7px;max-width:220px;white-space:nowrap}
.sync-btn span{overflow:hidden;text-overflow:ellipsis}
.sync-btn.active,.mobile-sync.active{border-color:#19b996;color:#087b67;background:#eafbf7}
.sync-btn.busy,.mobile-sync.busy{opacity:.7;animation:syncPulse 1.1s ease-in-out infinite}
.mobile-sync{border:0;width:38px;height:38px;border-radius:12px;background:#edf3f6;color:#526b78;font-size:19px;display:grid;place-items:center}
@keyframes syncPulse{0%,100%{transform:scale(1)}50%{transform:scale(.93);opacity:.5}}
.sync-card{grid-column:1/-1}
.input-action{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
.sync-summary{display:flex;justify-content:space-between;align-items:center;padding:12px 0 14px;margin-top:5px;border-top:1px solid #e4ecef;color:#56707d}
.sync-summary strong{color:#0b2637}
.microcopy{font-size:12px!important;color:#6a7d87!important;margin-top:12px!important}
@media(max-width:760px){.input-action{grid-template-columns:1fr auto}.input-action input{grid-column:1/-1}.sync-btn span{display:none}.sync-btn{padding-inline:12px}.sync-summary{align-items:flex-start;gap:8px;flex-direction:column}}
