: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}}

/* Identità grafica EasyER */
.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}}

/* OCR ricevute - v1.6 */
.auto-label{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;background:#e6f8f2;color:#08785e;font-size:8px;font-weight:900;letter-spacing:.35px;vertical-align:1px}.ocr-panel{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;align-items:flex-start;gap:10px;background:#f8fafb;color:#315063}.ocr-panel .ocr-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#e8eef2;color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:13px}.ocr-panel>div:last-child{min-width:0;flex:1}.ocr-panel b{display:block;color:var(--ink);font-size:11px;margin-bottom:3px}.ocr-panel span{display:block;font-size:10px;line-height:1.4;color:var(--muted)}.ocr-panel small{display:block;margin-top:4px;font-size:9px;color:var(--muted)}.ocr-panel.success{background:#eaf8f4;border-color:#b9e8da}.ocr-panel.success .ocr-icon{background:var(--teal);color:#fff}.ocr-panel.warning{background:#fff7e8;border-color:#f2d49c}.ocr-panel.warning .ocr-icon{background:#f2a529;color:#fff;font-size:9px}.ocr-panel.error{background:#fcecef;border-color:#efc1c8}.ocr-panel.error .ocr-icon{background:var(--red);color:#fff}.ocr-panel.running{background:#edf6ff;border-color:#bfd8f4}.ocr-panel.running .ocr-icon{background:var(--blue);color:#fff}.ocr-panel.ready .ocr-icon,.ocr-panel.idle .ocr-icon{background:#dff6ef;color:#08785e}.ocr-retry{margin-top:8px;border:0;background:transparent;color:var(--teal2);font-weight:800;font-size:10px;padding:0;text-decoration:underline}.ocr-progress{height:6px;background:#dbe7ef;border-radius:999px;overflow:hidden;margin-top:8px}.ocr-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--teal));border-radius:999px;transition:width .18s ease}.spin{animation:ocrspin 1s linear infinite}@keyframes ocrspin{to{transform:rotate(360deg)}}
@media(max-width:720px){.ocr-panel{padding:11px}.ocr-panel span{font-size:10px}}

/* OCR field configuration */
.ocr-settings-card{grid-column:1/-1}.ocr-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 14px}.ocr-setting{display:flex!important;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:12px;padding:13px;background:#f8fbfa;cursor:pointer;min-height:82px}.ocr-setting:hover{border-color:#94d9ca;background:#f2fbf8}.ocr-setting input{width:18px!important;height:18px;margin:2px 0 0;accent-color:var(--teal);flex:0 0 auto}.ocr-setting span{display:block}.ocr-setting b{display:block;font-size:12px;color:var(--navy);margin-bottom:4px}.ocr-setting small{display:block;font-size:10px;line-height:1.35;color:var(--muted)}.ocr-auto{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:13px;font-size:11px!important;color:#3f5668}.ocr-auto input{width:18px;height:18px;accent-color:var(--teal)}
@media(max-width:1000px){.ocr-settings-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.ocr-settings-grid{grid-template-columns:1fr}.ocr-setting{min-height:auto}.ocr-settings-card{grid-column:auto}}

/* ritaglio fotografie scontrini */
body.crop-open{overflow:hidden}.crop-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(3,15,23,.78);display:flex;align-items:center;justify-content:center;padding:16px}.crop-dialog{width:min(1040px,100%);max-height:calc(100vh - 24px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.38);padding:18px}.crop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.crop-head h3{margin:0 0 4px;color:var(--navy);font-size:20px}.crop-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.4}.crop-close{width:36px;height:36px;border:0;border-radius:10px;background:#edf3f5;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}.crop-stage{background:#0b1c26;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:280px}.crop-canvas{display:block;max-width:100%;height:auto;touch-action:none;cursor:crosshair;user-select:none}.crop-help{font-size:10px;color:var(--muted);padding:10px 2px 2px}.crop-actions{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:9px;align-items:center;margin-top:12px}.ocr-extra-options{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line);padding-top:4px}.ocr-extra-options .ocr-auto{border-top:0;padding-top:9px}.receipt-actions{flex-wrap:wrap}
@media(max-width:720px){.crop-backdrop{padding:0;align-items:stretch}.crop-dialog{max-height:100vh;border-radius:0;padding:13px;display:flex;flex-direction:column}.crop-head h3{font-size:17px}.crop-stage{min-height:240px;flex:1}.crop-help{font-size:9px}.crop-actions{grid-template-columns:1fr 1fr}.crop-actions span{display:none}.crop-actions .btn{width:100%;padding-inline:8px;font-size:10px}.crop-actions #cropApply{grid-column:1/-1}.crop-canvas{max-height:calc(100vh - 270px)}}


/* Gmail e promemoria mensile */
.monthly-reminder{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:15px 17px;border:1px solid #f0cf91;border-left:5px solid var(--amber);border-radius:15px;background:linear-gradient(135deg,#fff9ed,#fff4db);box-shadow:0 10px 28px rgba(148,96,8,.09)}
.reminder-icon{width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:#f4a626;color:#fff;display:grid;place-items:center;font-size:21px}.reminder-copy{min-width:0;flex:1}.reminder-copy b{display:block;color:#684200;font-size:14px;margin-bottom:4px}.reminder-copy span{display:block;color:#80642c;font-size:11px;line-height:1.45}.reminder-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.btn.ghost{background:transparent;border-color:transparent;color:#785c24}.btn.success-outline{border-color:#82d7c3;color:#08785e;background:#eefbf7}.reminder-settings-card{grid-column:1/-1}.notification-status{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:14px 0;color:var(--muted);font-size:11px}.notification-status strong{color:var(--ink)}.reminder-setting-actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:720px){.monthly-reminder{align-items:flex-start;flex-wrap:wrap;padding:13px}.reminder-icon{width:38px;height:38px;flex-basis:38px}.reminder-copy{flex:1 1 calc(100% - 56px)}.reminder-actions{width:100%;justify-content:stretch}.reminder-actions .btn{flex:1;min-width:92px;padding:9px 8px;font-size:10px}.reminder-actions .ghost{flex-basis:100%}.notification-status{align-items:flex-start;gap:8px;flex-direction:column}}


/* Gmail / Google OAuth */
.gmail-card{position:relative;overflow:hidden}.gmail-card:before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#ea4335}.gmail-toggle{padding:12px 14px;border:1px solid #f0c7c2;border-radius:12px;background:#fff7f6}.gmail-status,.gmail-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.gmail-status{margin-top:16px;padding:12px 14px;border-radius:12px;background:#fff7f6}.gmail-status strong{color:#b3261e}.gmail-actions{margin-top:12px;justify-content:flex-start}.gmail-draft{border-color:#f0b8b2!important;background:#fff4f2!important;color:#8f1f17!important}.gmail-hint{margin:14px 0 0}.send-confirm{background:#0b5f98;color:#fff;border-color:#b3261e}.send-confirm:hover{filter:brightness(.94)}
@media(max-width:700px){.gmail-actions .btn{flex:1 1 46%;justify-content:center}.report-actions .send-confirm{order:4}}

.pdf-pages-option{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap}.pdf-pages-option input{width:76px;min-width:76px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}

/* archivio, blocco e importazione multipla */
.month-lock-banner{display:flex;gap:12px;align-items:center;margin:0 0 16px;padding:13px 15px;border:1px solid #e8be58;background:#fff8df;border-radius:12px;color:#6b4a00}.month-lock-banner>span{font-size:24px}.month-lock-banner b,.month-lock-banner small{display:block}.month-lock-banner small{margin-top:3px;color:#7a6946}.locked-row{background:#fbfaf5}.locked-row td{opacity:.82}.row-actions button:disabled,.btn:disabled{opacity:.48;cursor:not-allowed}.badge.locked{background:#f4e4ae;color:#735000}.status-box.locked{border-color:#e8be58;background:#fff8df;color:#6b4a00}.locked-button{background:#f2eee2!important;color:#6e6348!important}.locked-form{max-width:760px}.report-grid{align-items:start}.report-archive,.report-history{grid-column:1/-1}.archive-item,.history-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line,#e5eaed)}.archive-item:first-of-type,.history-item:first-of-type{border-top:0}.archive-item div,.history-item div{min-width:0}.archive-item b,.archive-item span,.archive-item small,.history-item b,.history-item span,.history-item small{display:block}.archive-item span,.history-item span{margin-top:3px;color:#60717b;font-size:13px}.archive-item small,.history-item small{margin-top:4px;color:#7c8b93;font-size:12px;word-break:break-word}.history-item{justify-content:flex-start}.history-icon{width:36px;height:36px;border-radius:50%;background:#e8f4f0;color:#13745d;display:grid!important;place-items:center;font-weight:800;flex:0 0 auto}.empty.compact{padding:20px}.batch-import-back{position:fixed;inset:0;z-index:10000;background:rgba(4,25,37,.76);display:flex;align-items:center;justify-content:center;padding:18px}.batch-import-dialog{width:min(1180px,100%);max-height:94vh;overflow:hidden;background:#f8fafb;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);display:flex;flex-direction:column}.batch-import-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 22px 12px;background:white;border-bottom:1px solid #e3e9ec}.batch-import-head h2{margin:0}.batch-import-head p{margin:5px 0 0;color:#61717a}.batch-close{border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer}.batch-common{padding:12px 22px;background:white;border-bottom:1px solid #e3e9ec}.batch-common label{font-size:12px;font-weight:700;color:#53656f}.batch-common>div{display:flex;gap:8px;margin-top:6px}.batch-common input{flex:1;min-width:0;padding:10px 12px;border:1px solid #cdd8dd;border-radius:9px}.batch-rows{overflow:auto;padding:12px 18px;display:grid;gap:10px}.batch-row{background:white;border:1px solid #dfe7ea;border-radius:12px;padding:12px}.batch-row.running{border-color:#4cae94}.batch-row.error{border-color:#df8c8c}.batch-check{display:flex;gap:8px;align-items:center;word-break:break-all}.batch-progress{height:24px;position:relative;margin:7px 0;color:#6a7a82;font-size:12px;overflow:hidden;border-radius:6px;background:#eef3f5}.batch-progress i{display:block;height:100%;background:#bfe5d9}.batch-progress span{position:absolute;inset:0;display:flex;align-items:center;padding:0 8px}.ok-text{color:#17795f!important}.error-text{color:#aa3838!important}.batch-fields{display:grid;grid-template-columns:150px 170px 130px minmax(150px,1fr) minmax(220px,1.5fr);gap:8px}.batch-fields input,.batch-fields select{min-width:0;padding:9px 10px;border:1px solid #cfdae0;border-radius:8px;background:white}.batch-import-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;background:white;border-top:1px solid #e3e9ec}.batch-import-footer span{margin-right:auto;color:#53656f;font-weight:700}
@media(max-width:800px){.batch-import-back{padding:0}.batch-import-dialog{height:100vh;max-height:none;border-radius:0}.batch-fields{grid-template-columns:1fr 1fr}.batch-description{grid-column:1/-1}.batch-common>div{flex-direction:column}.archive-item{align-items:flex-start}.archive-item .btn{flex:0 0 auto}.report-archive,.report-history{grid-column:auto}.batch-import-footer{position:sticky;bottom:0}}

/* date italiane esplicite nell'importazione multipla */
.batch-fields .batch-date{font-variant-numeric:tabular-nums}.batch-fields .batch-date.invalid{border-color:#c74747;background:#fff4f4;box-shadow:0 0 0 2px rgba(199,71,71,.08)}

/* selezione multipla affidabile */
.batch-source-back{position:fixed;inset:0;z-index:10030;background:rgba(4,25,37,.78);display:grid;place-items:center;padding:18px}.batch-source-dialog{width:min(620px,100%);background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.38);padding:20px}.batch-source-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.batch-source-head h3{margin:0;font-size:20px}.batch-source-head p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.batch-source-close{border:0;background:transparent;font-size:31px;line-height:1;padding:0 3px}.batch-source-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.batch-source-actions .btn{min-height:48px}.batch-source-note,.batch-picker-help{font-size:12px;line-height:1.45;color:#5d707d;background:#eef5f6;border:1px solid #dce9eb;border-radius:10px;padding:10px 12px}.batch-source-note{margin-top:13px}.batch-picker-help{margin:10px 22px 0}.batch-head-actions{display:flex;align-items:center;gap:8px}.batch-head-actions .batch-close{margin-left:4px}.batch-import-footer #batchAddFilesFooter{margin-left:auto}.batch-import-footer #batchSummary{margin-right:0}
@media(max-width:720px){.batch-source-back{padding:0}.batch-source-dialog{width:100%;align-self:end;border-radius:18px 18px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.batch-source-actions{grid-template-columns:1fr}.batch-head-actions #batchAddFiles{display:none}.batch-import-footer{flex-wrap:wrap}.batch-import-footer #batchSummary{width:100%;margin-bottom:2px}.batch-import-footer #batchAddFilesFooter{margin-left:0}.batch-picker-help{margin:10px 14px 0}.batch-import-footer .btn{flex:1;white-space:nowrap}}

/* separazione di più scontrini da una singola fotografia */
.batch-source-actions .multi-receipt-source{grid-column:1/-1;border-color:#84d9ca;background:#edf9f6}.batch-source-actions .multi-receipt-source.primary{background:linear-gradient(135deg,#11b996,#07977f);color:#fff;border-color:transparent}.multi-crop-backdrop{position:fixed;inset:0;z-index:10040;background:rgba(3,15,23,.82);display:flex;align-items:center;justify-content:center;padding:14px}.multi-crop-dialog{width:min(1160px,100%);max-height:calc(100vh - 20px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.42);padding:18px}.multi-crop-stage{background:#0b1c26;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:300px}.multi-crop-canvas{display:block;max-width:100%;height:auto;max-height:72vh;touch-action:none;cursor:crosshair;user-select:none}.multi-crop-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.multi-crop-toolbar .multi-count{margin-left:auto;color:#5d707d;font-weight:800;font-size:12px}.multi-crop-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:12px}.multi-crop-actions .btn.primary{min-width:180px}.btn.danger{border-color:#e4b8bd;color:#a32836;background:#fff7f8}.btn.danger:hover{background:#fbeaec}
@media(max-width:720px){.multi-crop-backdrop{padding:0;align-items:stretch}.multi-crop-dialog{width:100%;max-height:100vh;border-radius:0;padding:12px;display:flex;flex-direction:column}.multi-crop-stage{min-height:230px;flex:1}.multi-crop-canvas{max-height:calc(100vh - 320px)}.multi-crop-toolbar{display:grid;grid-template-columns:1fr 1fr}.multi-crop-toolbar .multi-count{grid-column:1/-1;margin:0;text-align:center}.multi-crop-toolbar #multiDetect{grid-column:1/-1}.multi-crop-actions{display:grid;grid-template-columns:1fr 1fr}.multi-crop-actions #multiApply{grid-column:1/-1}.multi-crop-actions .btn{width:100%;font-size:10px;padding-inline:8px}.batch-source-actions .multi-receipt-source{grid-column:auto}}

/* selettore calendario esplicito */
.date-picker-wrap,.batch-date-wrap{display:flex;align-items:stretch;gap:7px;min-width:0}
.date-picker-wrap>input,.batch-date-wrap>.batch-date{flex:1;min-width:0}
.date-picker-btn{flex:0 0 44px;min-width:44px;border:1px solid #cfdae0;border-radius:9px;background:#fff;color:#153247;font-size:18px;display:grid;place-items:center;cursor:pointer;padding:0}
.date-picker-btn:hover,.date-picker-btn:focus{border-color:#61cdb6;box-shadow:0 0 0 3px rgba(16,185,150,.1);outline:0}
.batch-date-native{position:fixed!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-9999px!important}
@media(max-width:800px){.date-picker-btn{flex-basis:48px;min-width:48px}}

/* selezione delle note spese attive dalla Dashboard */
.active-reports-panel{margin-bottom:18px;overflow:hidden;border-color:#8bd8c9;background:linear-gradient(135deg,#ffffff 0%,#f1fbf8 100%)}
.active-reports-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px 14px;border-bottom:1px solid #dceee9}
.active-reports-head h2{margin:3px 0 5px;font-size:20px;color:var(--navy)}
.active-reports-head p{margin:0;color:var(--muted);font-size:12px}
.active-reports-kicker{display:inline-flex;align-items:center;gap:6px;color:#08765e;font-size:10px;font-weight:900;letter-spacing:.8px}
.active-reports-kicker:before{content:'●';font-size:9px}
.active-reports-count{flex:0 0 48px;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--teal),var(--teal2));color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900;box-shadow:0 8px 20px rgba(16,185,150,.24)}
.active-reports-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:11px;padding:15px 18px 18px}
.active-report-card{position:relative;text-align:left;border:1px solid #dce8e5;border-radius:14px;background:#fff;padding:15px 16px;color:var(--ink);display:flex;flex-direction:column;gap:6px;min-height:132px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.active-report-card:hover{transform:translateY(-2px);border-color:#72cdb9;box-shadow:0 10px 24px rgba(10,78,67,.11)}
.active-report-card.selected{border:2px solid var(--teal);background:#edfaf6;box-shadow:0 9px 24px rgba(16,185,150,.15)}
.active-report-month{font-size:16px;font-weight:850;text-transform:capitalize}
.active-report-stats{font-size:12px;color:#506576}
.active-report-status{display:inline-flex;align-self:flex-start;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800;margin-top:2px}
.active-report-status.ready{background:#e5f8f1;color:#08765e}
.active-report-status.warning{background:#fff1d7;color:#936000}
.active-report-action{margin-top:auto;color:#08765e;font-size:11px;font-weight:850}
.active-report-card.selected .active-report-action{color:#0a5f4c}
@media(max-width:720px){.active-reports-head{padding:17px 16px 13px}.active-reports-head h2{font-size:17px}.active-reports-count{width:42px;height:42px;flex-basis:42px;border-radius:13px}.active-reports-list{grid-template-columns:1fr;padding:12px}.active-report-card{min-height:118px}.active-report-card:hover{transform:none}}

/* selezione Dashboard separata da Apri/Modifica */
.active-report-card{padding:0;overflow:hidden;display:grid;grid-template-rows:1fr auto;cursor:default}
.active-report-select{width:100%;min-height:103px;border:0;background:transparent;text-align:left;color:inherit;padding:15px 16px 9px;display:flex;flex-direction:column;gap:6px;cursor:pointer}
.active-report-select:focus-visible{outline:3px solid rgba(16,185,150,.28);outline-offset:-4px}
.active-report-selection{margin-top:auto;color:#607582;font-size:10px;font-weight:800;padding-top:5px}
.active-report-card.selected .active-report-selection{color:#08765e}
.active-report-edit{margin:0 14px 14px;justify-self:stretch;border-color:#72cdb9;color:#08765e;background:#fff;padding:9px 11px;font-size:10px;line-height:1}
.active-report-edit:hover,.active-report-edit:focus{background:#0da887;color:#fff;border-color:#0da887}
@media(max-width:720px){.active-report-select{min-height:88px}.active-report-edit{min-height:40px;font-size:11px}}

/* logo ufficiale ricavato dalla tavola grafica */
.side .brand{padding:0 8px 24px}
.side .brand>img{width:198px;max-width:100%;height:auto}
.mobile-top .brand>img{width:148px;height:auto}
.boot-logo{width:min(310px,78vw);height:auto}
@media(max-width:720px){
  .mobile-top .brand>img{width:145px}
  .boot-logo{width:270px}
}

/* le card delle note spese seguono l'ordine cronologico del DOM: PC sinistra-destra, mobile alto-basso */

/* selettore OneDrive */
.onedrive-back{position:fixed;inset:0;z-index:10040;background:rgba(4,25,37,.78);display:flex;align-items:center;justify-content:center;padding:18px}
.onedrive-dialog{width:min(620px,100%);max-height:90vh;background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.38);display:flex;flex-direction:column;overflow:hidden}
.onedrive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 12px;border-bottom:1px solid var(--line)}
.onedrive-head h2{margin:0 0 4px;font-size:18px}
.onedrive-head p{margin:0;font-size:12px;color:var(--muted)}
.onedrive-close{border:0;background:transparent;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}
.onedrive-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:10px 18px;font-size:12px;border-bottom:1px solid var(--line);background:#f8fafb}
.onedrive-crumbs .od-crumb{border:0;background:transparent;color:var(--teal);font-weight:600;cursor:pointer;padding:2px 4px;border-radius:6px}
.onedrive-crumbs .od-crumb:last-child{color:var(--ink);cursor:default}
.onedrive-crumbs .od-sep{color:var(--muted)}
.onedrive-list{flex:1;overflow-y:auto;padding:8px 10px;min-height:180px}
.od-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:11px;padding:11px 12px;cursor:pointer;font-size:14px;color:var(--ink)}
.od-item:hover{background:#f2f6f8}
.od-item .od-ic{font-size:20px;flex:0 0 auto}
.od-item .od-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.od-file input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--teal)}
.od-size,.od-count{font-size:11px;color:var(--muted);flex:0 0 auto}
.od-folder .od-arrow{color:var(--muted);font-size:18px}
.od-loading,.od-empty,.od-error{padding:26px 16px;text-align:center;font-size:13px;color:var(--muted)}
.od-error{color:var(--red)}
.od-retry-wrap{padding:6px 16px 16px;text-align:center}
.onedrive-foot{display:flex;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:#f8fafb}
.onedrive-foot #odSelInfo{flex:1;font-size:12px;color:var(--muted)}
.onedrive-source{border-color:var(--teal)!important}
@media(max-width:560px){.onedrive-back{padding:0}.onedrive-dialog{width:100%;height:100vh;max-height:none;border-radius:0}}

/* rinvio di un report archiviato */
.resend-btn{border-color:#72cdb9;color:#08765e;background:#fff}
.resend-btn:hover,.resend-btn:focus-visible{background:#0da887;border-color:#0da887;color:#fff}

/* dashboard "a riposo": ultime trasmissioni, statistiche, drill-down categorie */
.sent-reports-panel{margin-bottom:18px}
.sent-reports-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px;padding:4px 18px 18px}
.sent-report-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:#f8fafb}
.sent-report-info{display:flex;flex-direction:column;gap:3px}
.sent-report-info b{font-size:14px;text-transform:capitalize}
.sent-report-info small{font-size:10px;color:#08765e;font-weight:700}
.sent-report-info span{font-size:11px;color:var(--muted)}
.stats-panel{margin-bottom:18px}
.stats-chart{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;align-items:end;padding:8px 18px 4px}
.stats-col{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;color:var(--muted)}
.stats-bar{height:88px;width:100%;max-width:46px;background:#edf1f4;border-radius:9px;display:flex;align-items:flex-end;overflow:hidden}
.stats-bar i{display:block;width:100%;border-radius:9px 9px 0 0;background:linear-gradient(180deg,var(--teal),var(--blue))}
.stats-col span{text-transform:capitalize;font-weight:700}
.stats-col b{font-size:9px;color:var(--ink);font-weight:700}
.stats-facts{display:flex;flex-wrap:wrap;gap:9px 22px;padding:12px 18px 18px;font-size:11px;color:var(--muted)}
.stats-facts b{display:block;color:var(--ink);font-size:13px;margin-top:2px}
button.bar-row{appearance:none;border:0;background:transparent;width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit;border-radius:10px;padding:4px 6px;transition:background .12s}
button.bar-row:hover,button.bar-row:focus-visible{background:#f2f6f8}
.category-hint{margin:8px 6px 0;font-size:10px;color:var(--muted)}
.drill-back{position:fixed;inset:0;z-index:10045;background:rgba(4,25,37,.78);display:flex;align-items:center;justify-content:center;padding:18px}
.drill-dialog{width:min(640px,100%);max-height:88vh;background:#fff;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.38);display:flex;flex-direction:column;overflow:hidden}
.drill-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}
.drill-head h3{margin:0 0 4px;font-size:17px;text-transform:capitalize}
.drill-head p{margin:0;font-size:12px;color:var(--muted)}
.drill-list{flex:1;overflow-y:auto;padding:8px 12px}
.drill-item{display:flex;align-items:center;gap:11px;padding:11px 8px;border-bottom:1px solid #eef2f5}
.drill-item:last-child{border-bottom:0}
.drill-info{flex:1;min-width:0}
.drill-info b{display:block;font-size:13px}
.drill-info small{font-size:11px;color:var(--muted)}
.drill-amount{font-weight:800;font-size:13px;white-space:nowrap}
.drill-actions{display:flex;gap:6px}
.drill-foot{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line);background:#f8fafb}
@media(max-width:560px){.drill-back{padding:0}.drill-dialog{width:100%;height:100vh;max-height:none;border-radius:0}.stats-chart{gap:5px}.sent-reports-list{grid-template-columns:1fr}}

/* giustificativi consultabili dal report archiviato */
.snap-receipt-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 7px;font-size:13px;line-height:1;cursor:pointer;transition:border-color .12s,background .12s}
.snap-receipt-btn:hover,.snap-receipt-btn:focus-visible{border-color:var(--teal);background:#edfaf6}
.snapshot-hint{margin:10px 2px 0;font-size:11px;color:var(--muted)}

/* pagina Report inviati + visualizzatore sola lettura */
.archive-layout{display:flex;flex-direction:column;gap:16px}
.archive-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.report-snapshot{width:min(1150px,100%)}
.rv-body-light{background:#fff;display:block;padding:16px;align-items:stretch}
.rv-body-light .excel{margin:0}
.rv-body-light .table-wrap{overflow-x:auto}
.rv-body-light .mini tfoot td{border-top:2px solid var(--line);background:#f4f9f7}
.rv-ro-badge{flex:0 0 auto;align-self:center;background:#0d2130;color:#8bd8c9;font-size:10px;font-weight:900;letter-spacing:.6px;border-radius:999px;padding:6px 11px;white-space:nowrap}
.snapshot-summary{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#f8fafb;font-size:12px;color:var(--muted)}
.snapshot-summary b{color:var(--ink);margin-left:5px}
.snapshot-summary .snapshot-grand{margin-left:auto;font-weight:800;color:#08765e}
.snapshot-summary .snapshot-grand b{color:#08765e;font-size:14px}
@media(max-width:560px){.snapshot-summary{gap:8px;flex-direction:column}.snapshot-summary .snapshot-grand{margin-left:0}}

/* pannello note spese sempre visibile + pulsante Report/Invia */
.active-report-actions{display:flex;gap:8px;margin:0 14px 14px}
.active-report-actions .active-report-edit{margin:0;flex:1}
.active-report-send{flex:1;min-height:40px;padding:9px 11px;font-size:10px;line-height:1;border-color:var(--teal);background:var(--teal);color:#fff}
.active-report-send:hover,.active-report-send:focus{background:#0da887;border-color:#0da887;color:#fff}

/* riga spesa cliccabile + visualizzatore giustificativo */
.expense-item.clickable{cursor:pointer;border-radius:12px;transition:background .12s,box-shadow .12s}
.expense-item.clickable:hover{background:#f2f6f8}
.expense-item.clickable:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.receipt-viewer-back{position:fixed;inset:0;z-index:10050;background:rgba(4,25,37,.82);display:flex;align-items:center;justify-content:center;padding:18px}
.receipt-viewer{width:min(860px,100%);max-height:92vh;background:#fff;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.4);display:flex;flex-direction:column;overflow:hidden}
.rv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.rv-head b{display:block;font-size:15px}
.rv-head span{font-size:12px;color:var(--muted)}
.rv-close{border:0;background:transparent;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}
.rv-body{flex:1;overflow:auto;background:#0d2130;display:flex;align-items:center;justify-content:center;min-height:220px}
.rv-body img{max-width:100%;max-height:82vh;display:block}
.rv-body iframe{width:100%;height:82vh;border:0;background:#fff}
.rv-fallback{padding:40px 20px;text-align:center;color:#dfe7ec}
.rv-fallback b{display:block;margin-bottom:6px}
.rv-foot{display:flex;gap:9px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line);background:#f8fafb}
@media(max-width:560px){.receipt-viewer-back{padding:0}.receipt-viewer{width:100%;height:100vh;max-height:none;border-radius:0}.rv-body img{max-height:74vh}.rv-body iframe{height:74vh}}

/* Libera spazio (pulizia file) */
.cleanup-back{position:fixed;inset:0;z-index:10052;background:rgba(4,25,37,.8);display:flex;align-items:center;justify-content:center;padding:18px}
.cleanup-dialog{width:min(640px,100%);max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 30px 90px rgba(0,0,0,.4);display:flex;flex-direction:column;overflow:hidden}
.cleanup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}
.cleanup-head h2{margin:0 0 4px;font-size:18px}
.cleanup-head p{margin:0;font-size:12px;color:var(--muted)}
.cleanup-close{border:0;background:transparent;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}
.cleanup-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 18px;border-bottom:1px solid var(--line);background:#f8fafb;font-size:12px}
.cleanup-filter select{padding:6px 8px;border:1px solid var(--line);border-radius:8px}
.cleanup-filter .cleanup-space{margin-left:auto;color:var(--muted)}
.cleanup-list{flex:1;overflow-y:auto;padding:6px 10px}
.cleanup-item{display:flex;align-items:center;gap:11px;padding:11px 10px;border-bottom:1px solid #eef2f5;cursor:pointer}
.cleanup-item:last-child{border-bottom:0}
.cleanup-item input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--red)}
.cleanup-item .ci-info{flex:1;min-width:0}
.cleanup-item .ci-info b{display:block;font-size:14px;text-transform:capitalize}
.cleanup-item .ci-info small{font-size:11px;color:var(--muted)}
.cleanup-item .ci-size{font-weight:800;font-size:13px;white-space:nowrap;color:var(--ink)}
.cleanup-empty{padding:30px 16px;text-align:center;color:var(--muted);font-size:13px}
.cleanup-foot{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line);background:#f8fafb;flex-wrap:wrap}
.cleanup-foot .cleanup-all{font-size:12px;display:flex;align-items:center;gap:6px}
.cleanup-foot #cleanupSel{font-size:12px;color:var(--muted);margin-right:auto}
.dialog-back{z-index:10080}
@media(max-width:560px){.cleanup-back{padding:0}.cleanup-dialog{width:100%;height:100vh;max-height:none;border-radius:0}}

/* collegamento rapido + banner "non collegato" */
.notsync-banner{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding:14px 16px;border:1px solid #f0c98a;border-radius:14px;background:linear-gradient(135deg,#fff9ef,#fff3df)}
.notsync-banner .ns-ico{font-size:24px;flex:0 0 auto}
.notsync-banner .ns-text{flex:1;min-width:0}
.notsync-banner .ns-text b{display:block;color:var(--navy);font-size:14px}
.notsync-banner .ns-text span{font-size:12px;color:#8a6d3b;line-height:1.5}
.notsync-banner .btn{flex:0 0 auto}
.sync-link-box{margin-top:10px;padding:11px 12px;border:1px dashed #8bd8c9;border-radius:11px;background:#f1fbf8}
.sync-link-box .microcopy{margin:7px 2px 0}

/* caratteri piu' grandi e leggibili su telefono */
@media(max-width:760px){
  body{font-size:15px !important;line-height:1.5}
  .content{font-size:15px}
  h1{font-size:25px !important}
  h2{font-size:20px !important}
  h3{font-size:18px !important}
  .top .heading p,.heading-mobile p,.card-head p,.empty{font-size:14px !important;line-height:1.5}
  small{font-size:13px !important}
  .microcopy,.manual-note,.manual-body p,.manual-body li{font-size:14px !important;line-height:1.55}
  .badge,.active-report-status,.rv-ro-badge,.active-reports-kicker,.manual-version{font-size:12px !important}
  .kpi small{font-size:13px !important}
  .kpi span{font-size:12px !important}
  .kpi strong{font-size:23px !important}
  .btn{font-size:15px !important}
  .btn.small{font-size:13px !important}
  input,select,textarea,.field-inline{font-size:16px !important}
  .nav button{font-size:15px !important}
  .bottom-nav button{font-size:12px !important}
  .expense-item strong{font-size:16px !important}
  .expense-item small{font-size:13px !important}
  .expense-item .amount{font-size:15px !important}
  .active-report-month{font-size:17px !important}
  .active-report-stats,.active-report-selection{font-size:13px !important}
  .active-report-edit,.active-report-send{font-size:13px !important}
  .sent-report-info b{font-size:16px !important}
  .sent-report-info small,.sent-report-info span{font-size:12.5px !important}
  .stats-facts{font-size:13px !important}
  .stats-facts b{font-size:15px !important}
  .stats-col{font-size:11px !important}
  .stats-col b{font-size:11px !important}
  .table th,.table td{font-size:13px !important}
  .mini th,.mini td{font-size:12px !important}
  .drill-head h3{font-size:19px !important}
  .drill-info b,.drill-amount{font-size:15px !important}
  .drill-info small{font-size:12.5px !important}
  .rv-head b{font-size:16px !important}
  .rv-head span{font-size:13px !important}
  .od-item{font-size:15px !important}
  .od-size,.od-count{font-size:12px !important}
  .snapshot-summary{font-size:13px !important}
  .snapshot-hint,.category-hint{font-size:12px !important}
  .field label{font-size:13px !important}
  .form-card h2,.receipt-card h2{font-size:18px !important}
  .summary-row{font-size:14px !important}
  .status-box{font-size:13px !important;line-height:1.5}
  .profile strong{font-size:15px !important}
  .profile small{font-size:12px !important}
}

/* Mappatura modello Excel (sezione avanzata, v2.8.0) */
.tmap-card{padding:0;overflow:hidden}
.tmap-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;font-weight:600}
.tmap-card>summary::-webkit-details-marker{display:none}
.tmap-card>summary::after{content:'⌄';font-size:20px;line-height:1;opacity:.6;transition:transform .2s}
.tmap-card[open]>summary::after{transform:rotate(180deg)}
.tmap-summary{display:flex;flex-direction:column;gap:2px}
.tmap-summary small{font-weight:400;opacity:.7;font-size:12px}
.tmap-body{padding:0 20px 20px;border-top:1px solid rgba(128,128,128,.18)}
.tmap-body h3{margin:16px 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.03em;opacity:.75}

/* Badge versione accanto al titolo (v2.8.0) */
.app-version-badge{display:inline-block;margin-left:10px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.4;vertical-align:middle;letter-spacing:.02em;color:#0f7c86;background:rgba(15,124,134,.12);border:1px solid rgba(15,124,134,.25);white-space:nowrap}
.heading-mobile .app-version-badge{font-size:10px;margin-left:8px}
@media (prefers-color-scheme:dark){.app-version-badge{color:#5fd3de;background:rgba(95,211,222,.14);border-color:rgba(95,211,222,.3)}}

/* Backend multiutente (v2.9.0) */
.notsync-banner.warn{border-color:rgba(210,140,0,.45);background:rgba(210,140,0,.10)}
.userid-box #myUserIdField{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.02em}

/* ===== EasyER: elementi introdotti dal modulo di rimborso ===== */
.field-note{display:block;margin-top:5px;font-size:11.5px;color:var(--muted,#5d7183);line-height:1.35}
.preview-box{margin:0 0 14px;padding:12px 14px;border:1px solid rgba(9,40,59,.12);border-radius:10px;background:rgba(9,40,59,.04)}
.preview-box b{display:block;margin-bottom:6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#5d7183)}
.preview-box p{margin:0;font-size:12.5px;line-height:1.5}
.status-box.warn{border-color:rgba(199,124,0,.35);background:rgba(255,176,32,.12)}
.month-lock-banner.warn{border-color:rgba(199,124,0,.35);background:rgba(255,176,32,.14)}
.summary-row.grand{border-top:2px solid rgba(9,40,59,.18);margin-top:4px;padding-top:10px;font-size:15px}
.summary-row.grand strong{color:var(--brand,#0f6f7a)}
.note-meta-card .preview-box{margin-top:14px}
@media (prefers-color-scheme:dark){
  .preview-box{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.05)}
  .summary-row.grand{border-top-color:rgba(255,255,255,.2)}
}

/* Avviso di versione aggiornata: compare in basso, non copre i contenuti */
.update-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:120;display:flex;align-items:center;gap:12px;max-width:92vw;padding:12px 14px;border-radius:14px;background:var(--navy,#09283b);color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.28);font-size:13.5px}
.update-banner .btn.small{padding:7px 12px;font-size:12.5px}
.update-banner .btn.ghost{background:transparent;border:0;color:#b9cbd8;font-size:17px;line-height:1;padding:4px 8px}
@media(max-width:520px){.update-banner{left:10px;right:10px;transform:none;max-width:none}}
