/* ==========================================================================
   MiMuovo · kit delle schermate dell'app (scene)
   Interfaccia chiara come l'app vera, anche dentro le sezioni notte.
   Stati: ok (verde), warn (ambra), bad (rosso), info (blu tenue).
   ========================================================================== */
.scene{position:relative;background:#fff;color:#121712;font-size:13.5px;line-height:1.4;font-family:var(--font);overflow:hidden;text-align:left}
.scene *{box-sizing:border-box}
.scene [data-show],.scene [data-from]{opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .6s var(--ease-out)}
.scene [data-anim="pop"]{transform:scale(.94)}
.scene [data-anim="slide"]{transform:translateX(16px)}
.scene [data-anim="fade"]{transform:none}
.scene .vis{opacity:1!important;transform:none!important}
/* gli stati non attivi escono dal flusso: niente buchi bianchi tra un passo e l'altro */
.scene [data-show]:not(.vis):not(.toast){position:absolute;left:0;right:0;top:0;visibility:hidden;pointer-events:none}
.scene .mono,.scene .num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* layout */
:where(.scene,.fs-ui,.anat-card) .ui{display:flex;min-height:420px}
:where(.scene,.fs-ui,.anat-card) .ui-side{width:178px;flex-shrink:0;border-right:1px solid #EEF1EA;background:#FBFCFA;padding:14px 10px;display:none}
@media (min-width: 700px){:where(.scene,.fs-ui,.anat-card) .ui-side{display:block}}
:where(.scene,.fs-ui,.anat-card) .ui-side .lg{display:flex;align-items:center;gap:7px;font-weight:800;font-size:13.5px;letter-spacing:-.02em;padding:2px 8px 12px}
:where(.scene,.fs-ui,.anat-card) .ui-side .lg img{width:20px;height:20px}
:where(.scene,.fs-ui,.anat-card) .ui-side .gr{font-size:8.5px;font-weight:800;letter-spacing:.13em;color:#AEB6B0;padding:10px 8px 4px;text-transform:uppercase}
:where(.scene,.fs-ui,.anat-card) .ui-side .it{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:#59625c;padding:6px 8px;border-radius:8px;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .ui-side .it svg{width:13px;height:13px}
:where(.scene,.fs-ui,.anat-card) .ui-side .it.on{background:#EEF6E6;color:#121712;font-weight:700}
:where(.scene,.fs-ui,.anat-card) .ui-main{flex:1;min-width:0;padding:18px 20px 20px;position:relative}
:where(.scene,.fs-ui,.anat-card) .ui-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
:where(.scene,.fs-ui,.anat-card) .ui-h h4{font-size:16px;font-weight:800;letter-spacing:-.02em}
:where(.scene,.fs-ui,.anat-card) .ui-h .sp{margin-left:auto}
:where(.scene,.fs-ui,.anat-card) .ui-crumb{font-size:11px;color:#8B948E;font-weight:600;margin-bottom:4px}

/* pezzi */
:where(.scene,.fs-ui,.anat-card) .plate{display:inline-flex;align-items:center;font:800 12.5px/1 var(--mono);letter-spacing:.01em;background:#F3F5F0;border:1px solid #E2E7DC;border-radius:7px;padding:5px 7px;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .pill{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;border-radius:999px;padding:4px 9px;white-space:nowrap;background:#F1F3EF;color:#4c5550}
:where(.scene,.fs-ui,.anat-card) .pill svg{width:12px;height:12px}
:where(.scene,.fs-ui,.anat-card) .pill.ok{background:#EAF6DF;color:#2F6B12}:where(.scene,.fs-ui,.anat-card) .pill.warn{background:#FDF4DC;color:#8A6400}:where(.scene,.fs-ui,.anat-card) .pill.bad{background:#FCEBE8;color:#A8321F}:where(.scene,.fs-ui,.anat-card) .pill.info{background:#EAF1FB;color:#2B5BB0}:where(.scene,.fs-ui,.anat-card) .pill.dark{background:#121712;color:#fff}
:where(.scene,.fs-ui,.anat-card) .dotc{width:8px;height:8px;border-radius:50%;background:#C9D0C6;flex-shrink:0}
:where(.scene,.fs-ui,.anat-card) .dotc.ok{background:#4E9A1B}:where(.scene,.fs-ui,.anat-card) .dotc.warn{background:#E2A400}:where(.scene,.fs-ui,.anat-card) .dotc.bad{background:#D4462F}
:where(.scene,.fs-ui,.anat-card) .card{border:1px solid #EDF0EA;border-radius:14px;background:#fff;padding:14px}
:where(.scene,.fs-ui,.anat-card) .card + .card{margin-top:10px}
:where(.scene,.fs-ui,.anat-card) .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
:where(.scene,.fs-ui,.anat-card) .kpi{border:1px solid #EDF0EA;border-radius:12px;padding:11px 12px;background:#FCFDFB}
:where(.scene,.fs-ui,.anat-card) .kpi small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.1em;color:#8B948E;text-transform:uppercase}
:where(.scene,.fs-ui,.anat-card) .kpi b{display:block;font:800 19px/1.15 var(--mono);letter-spacing:-.03em;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:clip}
:where(.scene,.fs-ui,.anat-card) .kpi em{font-style:normal;font:700 10.5px/1 var(--mono);color:#2F6B12}
:where(.scene,.fs-ui,.anat-card) .kpi em.bad{color:#A8321F}
:where(.scene,.fs-ui,.anat-card) .rows{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
:where(.scene,.fs-ui,.anat-card) .row{display:flex;align-items:center;gap:10px;border:1px solid #EEF1EA;border-radius:11px;padding:9px 11px;background:#FCFDFB}
:where(.scene,.fs-ui,.anat-card) .row .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:#EEF6E6;color:#3B6E00}
:where(.scene,.fs-ui,.anat-card) .row .ic svg{width:14px;height:14px}
:where(.scene,.fs-ui,.anat-card) .row .ic.warn{background:#FDF4DC;color:#8A6400}:where(.scene,.fs-ui,.anat-card) .row .ic.bad{background:#FCEBE8;color:#A8321F}:where(.scene,.fs-ui,.anat-card) .row .ic.info{background:#EAF1FB;color:#2B5BB0}:where(.scene,.fs-ui,.anat-card) .row .ic.dark{background:#121712;color:#9FF25A}
:where(.scene,.fs-ui,.anat-card) .row .tx{flex:1;min-width:0}
:where(.scene,.fs-ui,.anat-card) .row .tx b{display:block;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:where(.scene,.fs-ui,.anat-card) .row .tx span{display:block;font-size:11px;color:#7E8882;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:where(.scene,.fs-ui,.anat-card) .row .am{font:700 12.5px/1 var(--mono);white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .row .am.ok{color:#2F6B12}:where(.scene,.fs-ui,.anat-card) .row .am.bad{color:#A8321F}:where(.scene,.fs-ui,.anat-card) .row .am.warn{color:#8A6400}
:where(.scene,.fs-ui,.anat-card) .row.hl{border-color:#BFE0A0;background:#F4FAEE;box-shadow:0 0 0 3px #EAF6DF}
:where(.scene,.fs-ui,.anat-card) .row.hl-bad{border-color:#F1C4BB;background:#FDF5F3;box-shadow:0 0 0 3px #FCEBE8}
:where(.scene,.fs-ui,.anat-card) .tbl{width:100%;border-collapse:collapse;font-size:12px}
:where(.scene,.fs-ui,.anat-card) .tbl th{font-size:9.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#8B948E;text-align:left;padding:7px 8px;border-bottom:1px solid #EDF0EA}
:where(.scene,.fs-ui,.anat-card) .tbl td{padding:8px;border-bottom:1px solid #F2F4EF;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .tbl td.r,:where(.scene,.fs-ui,.anat-card) .tbl th.r{text-align:right}
:where(.scene,.fs-ui,.anat-card) .tbl tr.hl td{background:#F4FAEE}
:where(.scene,.fs-ui,.anat-card) .bar{height:6px;border-radius:999px;background:#EEF1EA;overflow:hidden}
:where(.scene,.fs-ui,.anat-card) .bar i{display:block;height:100%;border-radius:inherit;background:#4E9A1B;transform-origin:0 50%;transition:transform 1s var(--ease-out)}
:where(.scene,.fs-ui,.anat-card) .split{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width: 760px){:where(.scene,.fs-ui,.anat-card) .split{grid-template-columns:1.1fr .9fr}}

/* notifica in vetro, entra dall'alto */
:where(.scene,.fs-ui,.anat-card) .toast{position:absolute;left:50%;top:14px;z-index:5;width:min(340px,86%);display:flex;gap:11px;align-items:center;padding:11px 13px;border-radius:15px;
  background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 0 0 1px rgba(18,23,18,.07),0 18px 44px -16px rgba(18,23,18,.4);
  opacity:0;transform:translate(-50%,-12px) scale(.97)!important;transition:opacity .35s ease,transform .5s var(--ease-out)}
:where(.scene,.fs-ui,.anat-card) .toast.vis{opacity:1;transform:translate(-50%,0) scale(1)!important}
:where(.scene,.fs-ui,.anat-card) .toast .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:#EAF6DF;color:#2F6B12}
:where(.scene,.fs-ui,.anat-card) .toast .ic svg{width:17px;height:17px}
:where(.scene,.fs-ui,.anat-card) .toast .ic.warn{background:#FDF4DC;color:#8A6400}:where(.scene,.fs-ui,.anat-card) .toast .ic.bad{background:#FCEBE8;color:#A8321F}
:where(.scene,.fs-ui,.anat-card) .toast b{display:block;font-size:12.5px}
:where(.scene,.fs-ui,.anat-card) .toast span{display:block;font-size:11.5px;color:#5b655f}

/* documento letto dall'AI: riquadri che si accendono sui campi */
:where(.scene,.fs-ui,.anat-card) .docu{position:relative;border-radius:12px;overflow:hidden;background:#F6F7F4;border:1px solid #E7EBE3}
:where(.scene,.fs-ui,.anat-card) .docu img{width:100%;height:100%;object-fit:cover}
:where(.scene,.fs-ui,.anat-card) .docu .box{position:absolute;border:2px solid #6CC72A;border-radius:6px;background:rgba(108,199,42,.12);opacity:0;transform:scale(1.06);transition:opacity .35s ease,transform .45s var(--ease-out)}
:where(.scene,.fs-ui,.anat-card) .docu .box.vis{opacity:1;transform:none}
:where(.scene,.fs-ui,.anat-card) .scan{position:absolute;left:0;right:0;height:38%;top:-40%;background:linear-gradient(180deg,transparent,rgba(123,246,22,.28),transparent);pointer-events:none}
:where(.scene,.fs-ui,.anat-card) [data-step="2"] .scan{animation:scan 1.6s var(--ease-io) 1}
@keyframes scan{to{top:100%}}

/* WhatsApp */
:where(.scene,.fs-ui,.anat-card) .wa{background:#EFE7DD;display:flex;flex-direction:column;min-height:420px}
:where(.scene,.fs-ui,.anat-card) .wa-top{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#F7F4EF;border-bottom:1px solid #E6DED2}
:where(.scene,.fs-ui,.anat-card) .wa-top .av{width:32px;height:32px;border-radius:50%;background:#121712;display:grid;place-items:center}
:where(.scene,.fs-ui,.anat-card) .wa-top .av img{width:18px;height:18px}
:where(.scene,.fs-ui,.anat-card) .wa-top b{font-size:13px;display:block}
:where(.scene,.fs-ui,.anat-card) .wa-top span{font-size:11px;color:#6F776F}
:where(.scene,.fs-ui,.anat-card) .wa-body{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:7px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:where(.scene,.fs-ui,.anat-card) .bub{max-width:82%;padding:7px 10px 6px;border-radius:10px;font-size:12.5px;line-height:1.35;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06);position:relative}
:where(.scene,.fs-ui,.anat-card) .bub.me{align-self:flex-end;background:#D9FDD3}
:where(.scene,.fs-ui,.anat-card) .bub small{display:block;text-align:right;font-size:9.5px;color:#7a837a;margin-top:2px}
:where(.scene,.fs-ui,.anat-card) .bub .ph{width:180px;height:110px;border-radius:7px;overflow:hidden;margin:-2px -4px 4px}
:where(.scene,.fs-ui,.anat-card) .bub .ph img{width:100%;height:100%;object-fit:cover}
:where(.scene,.fs-ui,.anat-card) .bub .btns{display:grid;gap:4px;margin-top:6px}
:where(.scene,.fs-ui,.anat-card) .bub .btns span{display:block;text-align:center;padding:6px;border-radius:7px;background:#F3F7F2;color:#0A7C66;font-weight:600;font-size:12px}
:where(.scene,.fs-ui,.anat-card) .bub .voice{display:flex;align-items:center;gap:8px;width:190px}
:where(.scene,.fs-ui,.anat-card) .bub .voice i{width:26px;height:26px;border-radius:50%;background:#0A7C66;display:grid;place-items:center;color:#fff}
:where(.scene,.fs-ui,.anat-card) .bub .voice i svg{width:12px;height:12px}
:where(.scene,.fs-ui,.anat-card) .bub .voice .w{flex:1;height:18px;background:repeating-linear-gradient(90deg,#9db3a6 0 2px,transparent 2px 5px);mask:linear-gradient(90deg,#000 40%,rgba(0,0,0,.35));-webkit-mask:linear-gradient(90deg,#000 40%,rgba(0,0,0,.35))}
:where(.scene,.fs-ui,.anat-card) .typing{align-self:flex-start;display:flex;gap:4px;padding:10px 12px;border-radius:10px;background:#fff}
:where(.scene,.fs-ui,.anat-card) .typing i{width:6px;height:6px;border-radius:50%;background:#9aa49c;animation:typ 1.2s infinite}
:where(.scene,.fs-ui,.anat-card) .typing i:nth-child(2){animation-delay:.15s}:where(.scene,.fs-ui,.anat-card) .typing i:nth-child(3){animation-delay:.3s}
@keyframes typ{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-3px);opacity:1}}

/* calendario scadenze */
:where(.scene,.fs-ui,.anat-card) .cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
:where(.scene,.fs-ui,.anat-card) .cal span{aspect-ratio:1;border-radius:8px;display:grid;place-items:center;font:600 11px/1 var(--mono);color:#68716b;background:#F7F8F5}
:where(.scene,.fs-ui,.anat-card) .cal span.ok{background:#EAF6DF;color:#2F6B12}:where(.scene,.fs-ui,.anat-card) .cal span.warn{background:#FDF4DC;color:#8A6400}:where(.scene,.fs-ui,.anat-card) .cal span.bad{background:#FCEBE8;color:#A8321F}
:where(.scene,.fs-ui,.anat-card) .cal span.today{box-shadow:inset 0 0 0 2px #121712;color:#121712}

/* grafico a barre semplice (margine per mese / per mezzo) */
:where(.scene,.fs-ui,.anat-card) .bars{display:flex;align-items:flex-end;gap:7px;height:120px;padding-top:6px}
:where(.scene,.fs-ui,.anat-card) .bars i{flex:1;border-radius:6px 6px 3px 3px;background:#DDEFCB;transform-origin:50% 100%;transform:scaleY(var(--h,.5));transition:transform .9s var(--ease-out)}
:where(.scene,.fs-ui,.anat-card) .bars i.ok{background:#6CB33A}:where(.scene,.fs-ui,.anat-card) .bars i.bad{background:#E08A79}
.scene[data-step="1"] .bars.grow i{transform:scaleY(.04)}

@media (max-width: 600px){
  :where(.scene,.fs-ui,.anat-card) .ui-main{padding:14px}
  :where(.scene,.fs-ui,.anat-card) .kpis{grid-template-columns:1fr 1fr}
  :where(.scene,.fs-ui,.anat-card) .kpis .kpi:nth-child(3){display:none}
  :where(.scene,.fs-ui,.anat-card) .tbl .hide-s{display:none}
}

/* ---------- pezzi specifici delle scene ---------- */
:where(.scene,.fs-ui,.anat-card) .kpis4{grid-template-columns:repeat(4,1fr)}
@media (max-width: 600px){:where(.scene,.fs-ui,.anat-card) .kpis4{grid-template-columns:1fr 1fr}:where(.scene,.fs-ui,.anat-card) .kpis4 .kpi:nth-child(3){display:block}}
:where(.scene,.fs-ui,.anat-card) .segs{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:#F1F3EF;font-size:11px;font-weight:700;color:#68716b;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .segs span{padding:5px 9px;border-radius:7px}
:where(.scene,.fs-ui,.anat-card) .segs .on{background:#fff;color:#121712;box-shadow:0 1px 2px rgba(18,23,18,.12)}
:where(.scene,.fs-ui,.anat-card) .segs b{font-family:var(--mono);margin-left:3px;color:#8B948E}
:where(.scene,.fs-ui,.anat-card) .segs2{display:flex;gap:8px;margin-bottom:10px;font-size:12px;font-weight:700}
:where(.scene,.fs-ui,.anat-card) .segs2 span{padding:7px 11px;border-radius:9px;background:#F4F6F2;color:#5b655f}
:where(.scene,.fs-ui,.anat-card) .segs2 .on{background:#EEF6E6;color:#2F6B12}
:where(.scene,.fs-ui,.anat-card) .segs2 b{font-family:var(--mono);margin-left:4px}
:where(.scene,.fs-ui,.anat-card) .tabs4{display:flex;gap:16px;border-bottom:1px solid #EDF0EA;margin:-2px 0 12px;font-size:11.5px;font-weight:700;color:#8B948E;overflow:hidden;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .tabs4 span{padding:6px 0 9px;border-bottom:2px solid transparent}
.scene[data-step="1"] .tabs4 .t1,.scene[data-step="2"] .tabs4 .t1,.scene[data-step="3"] .tabs4 .t1,.scene[data-step="4"] .tabs4 .t2{color:#121712;border-color:#121712}
:where(.scene,.fs-ui,.anat-card) .hint{font-size:11.5px;color:#7E8882;margin-top:8px}
:where(.scene,.fs-ui,.anat-card) .ic-b{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#EEF6E6;color:#3B6E00;flex-shrink:0}
:where(.scene,.fs-ui,.anat-card) .ic-b svg{width:15px;height:15px}
:where(.scene,.fs-ui,.anat-card) .ic-b.bad{background:#FCEBE8;color:#A8321F}

.scene[data-step="3"] .cat-fuel{border-color:#BFE0A0;background:#F4FAEE;box-shadow:0 0 0 3px #EAF6DF}
.scene .top-alert{border-color:#F1C4BB;background:#FDF7F5}
:where(.scene,.fs-ui,.anat-card) .yard{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
:where(.scene,.fs-ui,.anat-card) .yd{border-radius:10px;padding:9px 8px;background:#F4FAEE;border:1px solid #DDEFCB}
:where(.scene,.fs-ui,.anat-card) .yd b{display:block;font:800 11.5px/1 var(--mono)}
:where(.scene,.fs-ui,.anat-card) .yd em{display:block;font:600 10.5px/1.2 var(--mono);font-style:normal;color:#2F6B12;margin-top:5px}
:where(.scene,.fs-ui,.anat-card) .yd.warn{background:#FFF9EA;border-color:#F3E2AE}:where(.scene,.fs-ui,.anat-card) .yd.warn em{color:#8A6400}
:where(.scene,.fs-ui,.anat-card) .yd.bad{background:#FDF4F2;border-color:#F3D3CC}:where(.scene,.fs-ui,.anat-card) .yd.bad em{color:#A8321F}
@media (max-width: 600px){:where(.scene,.fs-ui,.anat-card) .yard{grid-template-columns:repeat(2,1fr)}}

/* centro operativo */
:where(.scene,.fs-ui,.anat-card) .results{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#121712;color:#E9F3E1;font-size:12px}
:where(.scene,.fs-ui,.anat-card) .results span{display:flex;align-items:center;gap:8px}
:where(.scene,.fs-ui,.anat-card) .results svg{width:15px;height:15px;color:#9FF25A}
:where(.scene,.fs-ui,.anat-card) .results b{font-size:15px;color:#9FF25A;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .results.big b{font-size:20px}
:where(.scene,.fs-ui,.anat-card) .detail .dl{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:8px 0;border-top:1px solid #F1F3EF;font-size:12.5px}
:where(.scene,.fs-ui,.anat-card) .detail .dl span{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8B948E;padding-top:2px}
:where(.scene,.fs-ui,.anat-card) .detail .dl p{color:#2f3632}
@media (max-width: 600px){:where(.scene,.fs-ui,.anat-card) .detail .dl{grid-template-columns:1fr;gap:4px}}
:where(.scene,.fs-ui,.anat-card) .acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
:where(.scene,.fs-ui,.anat-card) .acts .b{font-size:11.5px;font-weight:700;padding:8px 12px;border-radius:999px;background:#F1F3EF;color:#121712}
:where(.scene,.fs-ui,.anat-card) .acts .b.dark{background:#121712;color:#fff}
:where(.scene,.fs-ui,.anat-card) .mail{margin-top:10px;border:1px solid #E6EAE2;border-radius:12px;padding:12px;background:#FCFDFB;font-size:12.5px}
:where(.scene,.fs-ui,.anat-card) .mail small{display:block;color:#7E8882;font-size:11px;margin-bottom:6px}
:where(.scene,.fs-ui,.anat-card) .mail p{min-height:4.2em;color:#20261f}
:where(.scene,.fs-ui,.anat-card) .mail .att{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
:where(.scene,.fs-ui,.anat-card) .mail.big{margin-top:0}
:where(.scene,.fs-ui,.anat-card) .mail .mh{display:grid;grid-template-columns:60px 1fr;gap:8px;padding:5px 0;border-bottom:1px solid #F1F3EF;font-size:11.5px}
:where(.scene,.fs-ui,.anat-card) .mail .mh span{color:#8B948E}
:where(.scene,.fs-ui,.anat-card) .mail .mh b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .mail.big p{margin-top:10px;min-height:6em}
:where(.scene,.fs-ui,.anat-card) .drafting{display:flex;align-items:center;gap:10px;padding:26px;border-radius:12px;background:#F7F9F5;color:#5b655f;font-weight:600}
:where(.scene,.fs-ui,.anat-card) .drafting svg{width:18px;height:18px;color:#4E9A1B;animation:spin 2.4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
:where(.scene,.fs-ui,.anat-card) .tl{display:grid;gap:4px;position:relative;padding-left:4px}
:where(.scene,.fs-ui,.anat-card) .tl-i{display:grid;grid-template-columns:30px 1fr;column-gap:10px;padding:8px 0;position:relative}
:where(.scene,.fs-ui,.anat-card) .tl-i span{grid-row:span 2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#F1F3EF;color:#5b655f}
:where(.scene,.fs-ui,.anat-card) .tl-i span svg{width:14px;height:14px}
:where(.scene,.fs-ui,.anat-card) .tl-i b{font-size:12.5px}
:where(.scene,.fs-ui,.anat-card) .tl-i em{font-style:normal;font-size:11.5px;color:#7E8882}
:where(.scene,.fs-ui,.anat-card) .tl-i.ok span{background:#EAF6DF;color:#2F6B12}
:where(.scene,.fs-ui,.anat-card) .tl-i:not(:last-child)::after{content:"";position:absolute;left:14px;top:40px;bottom:-6px;width:2px;background:#EDF0EA}

/* documenti */
:where(.scene,.fs-ui,.anat-card) .drop{display:grid;justify-items:center;text-align:center;gap:6px;padding:26px 16px;border:1.5px dashed #CBD7C0;border-radius:14px;background:#FAFCF8;color:#5b655f;font-size:12px}
:where(.scene,.fs-ui,.anat-card) .drop svg{width:26px;height:26px;color:#4E9A1B}
:where(.scene,.fs-ui,.anat-card) .drop b{color:#121712;font-family:var(--mono);font-size:12.5px}
:where(.scene,.fs-ui,.anat-card) .drop.on{border-style:solid;border-color:#BFE0A0;background:#F4FAEE}
:where(.scene,.fs-ui,.anat-card) .prog{display:block;width:70%;height:5px;border-radius:9px;background:#EAEFE5;overflow:hidden;margin-top:6px}
:where(.scene,.fs-ui,.anat-card) .prog i{display:block;height:100%;background:#4E9A1B;transform-origin:0 50%;animation:prog 2.2s var(--ease-io) infinite}
@keyframes prog{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
:where(.scene,.fs-ui,.anat-card) .recon{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#F4FAEE;border:1px solid #DDEFCB;font-size:11.5px;color:#2F6B12}
:where(.scene,.fs-ui,.anat-card) .recon span{display:flex;align-items:center;gap:6px}
:where(.scene,.fs-ui,.anat-card) .recon svg{width:14px;height:14px}
:where(.scene,.fs-ui,.anat-card) .recon .pill{margin-left:auto}
:where(.scene,.fs-ui,.anat-card) .ts-conn{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#EAF1FB;color:#2B5BB0;font-size:12px}
:where(.scene,.fs-ui,.anat-card) .ts-conn svg{width:16px;height:16px}
:where(.scene,.fs-ui,.anat-card) .ts-conn .pill{margin-left:auto;background:#fff}

/* ai */
:where(.scene,.fs-ui,.anat-card) .ai{display:flex;flex-direction:column;gap:12px}
:where(.scene,.fs-ui,.anat-card) .ai-q{align-self:flex-end;max-width:80%;padding:10px 13px;border-radius:14px 14px 4px 14px;background:#121712;color:#fff;font-size:13px;font-weight:500}
:where(.scene,.fs-ui,.anat-card) .ai-a{display:grid;grid-template-columns:30px 1fr;gap:10px;font-size:13px;color:#20261f}
:where(.scene,.fs-ui,.anat-card) .ai-av{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#F1F3EF}
:where(.scene,.fs-ui,.anat-card) .ai-av img{width:17px;height:17px}
:where(.scene,.fs-ui,.anat-card) .ai-a p{min-height:3em}
:where(.scene,.fs-ui,.anat-card) .ai-tbl{display:grid;gap:5px;margin-top:9px}
:where(.scene,.fs-ui,.anat-card) .ai-tbl div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:7px 9px;border:1px solid #EEF1EA;border-radius:10px;font-size:12px}
:where(.scene,.fs-ui,.anat-card) .ai-tbl .bad{color:#A8321F;font:700 11.5px var(--mono)}
:where(.scene,.fs-ui,.anat-card) .ai-src{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-size:11px;color:#2B5BB0;background:#EAF1FB;border-radius:8px;padding:5px 8px}
:where(.scene,.fs-ui,.anat-card) .ai-src svg{width:12px;height:12px}
:where(.scene,.fs-ui,.anat-card) .ai-think{display:flex;align-items:center;gap:5px;font-size:12px;color:#7E8882;padding-left:40px}
:where(.scene,.fs-ui,.anat-card) .ai-think span{width:6px;height:6px;border-radius:50%;background:#9aa49c;animation:typ 1.2s infinite}
:where(.scene,.fs-ui,.anat-card) .ai-think span:nth-child(2){animation-delay:.15s}:where(.scene,.fs-ui,.anat-card) .ai-think span:nth-child(3){animation-delay:.3s;margin-right:4px}
:where(.scene,.fs-ui,.anat-card) .ai-sug{display:flex;flex-wrap:wrap;gap:6px}
:where(.scene,.fs-ui,.anat-card) .ai-sug span{font-size:11.5px;font-weight:600;padding:7px 10px;border-radius:999px;border:1px solid #E3E8DE;background:#fff;color:#2f3632}
:where(.scene,.fs-ui,.anat-card) .ai-sug.big{flex-direction:column;align-items:stretch}
:where(.scene,.fs-ui,.anat-card) .ai-sug.big span{border-radius:12px;padding:11px 13px;font-size:12.5px}
:where(.scene,.fs-ui,.anat-card) .ai-sug.big .hint{order:-1;margin:0 0 4px;font-weight:700;color:#8B948E;text-transform:uppercase;letter-spacing:.08em;font-size:10px}
:where(.scene,.fs-ui,.anat-card) .ai-chart{display:flex;align-items:flex-end;gap:6px;height:70px;margin-top:10px}
:where(.scene,.fs-ui,.anat-card) .ai-chart i{flex:1;border-radius:5px 5px 2px 2px;background:#DDEFCB;height:calc(var(--h) * 100%)}
:where(.scene,.fs-ui,.anat-card) .ai-chart i.ok{background:#6CB33A}
:where(.scene,.fs-ui,.anat-card) .brief .rows .row{background:#fff}

/* scadenzario */
:where(.scene,.fs-ui,.anat-card) .rings{display:flex;gap:14px;margin-bottom:12px}
:where(.scene,.fs-ui,.anat-card) .ring{--c:#4E9A1B;position:relative;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;align-content:center;
  background:conic-gradient(var(--c) calc(var(--v) * 1%), #EEF1EA 0)}
:where(.scene,.fs-ui,.anat-card) .ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
:where(.scene,.fs-ui,.anat-card) .ring b,:where(.scene,.fs-ui,.anat-card) .ring em{position:relative}
:where(.scene,.fs-ui,.anat-card) .ring b{font-size:14px}
:where(.scene,.fs-ui,.anat-card) .ring em{font-style:normal;font-size:9.5px;font-weight:700;color:#8B948E;text-transform:uppercase;letter-spacing:.06em}
:where(.scene,.fs-ui,.anat-card) .ring.warn{--c:#E2A400}
:where(.scene,.fs-ui,.anat-card) .cal .dh{background:none;font-family:var(--font);font-weight:700;color:#8B948E;aspect-ratio:auto;padding-bottom:2px}
:where(.scene,.fs-ui,.anat-card) .km{display:flex;justify-content:space-between;font-size:12px;padding:5px 0;border-bottom:1px solid #F2F4EF}
:where(.scene,.fs-ui,.anat-card) .km span{color:#7E8882}
:where(.scene,.fs-ui,.anat-card) .propose{border-color:#F3E2AE;background:#FFFCF2}
:where(.scene,.fs-ui,.anat-card) .done-row{margin-top:8px}

/* personale */
:where(.scene,.fs-ui,.anat-card) .tgrid{display:grid;grid-template-columns:76px repeat(10,1fr);gap:3px;font-size:10.5px}
:where(.scene,.fs-ui,.anat-card) .tgrid > span{display:grid;place-items:center;height:26px;border-radius:6px;background:#F7F8F5;color:#2f3632}
:where(.scene,.fs-ui,.anat-card) .tgrid .th{background:none;color:#8B948E;font-weight:700}
:where(.scene,.fs-ui,.anat-card) .tgrid .tn{justify-items:start;background:none;font-weight:700;font-size:11px;padding-left:2px;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .tgrid .off{background:repeating-linear-gradient(135deg,#F1F3EF 0 4px,#fff 4px 8px)}
:where(.scene,.fs-ui,.anat-card) .tgrid .ab{background:#EAF1FB;color:#2B5BB0;font-weight:800;font-family:var(--mono)}
:where(.scene,.fs-ui,.anat-card) .tgrid .ab.ml{background:#FDF4DC;color:#8A6400}
:where(.scene,.fs-ui,.anat-card) .tgrid .warnc{background:#FDF4DC;color:#8A6400;font-weight:700}
@media (max-width: 600px){:where(.scene,.fs-ui,.anat-card) .tgrid{grid-template-columns:62px repeat(6,1fr)}:where(.scene,.fs-ui,.anat-card) .tgrid > span:nth-child(11n+8),:where(.scene,.fs-ui,.anat-card) .tgrid > span:nth-child(11n+9),:where(.scene,.fs-ui,.anat-card) .tgrid > span:nth-child(11n+10),:where(.scene,.fs-ui,.anat-card) .tgrid > span:nth-child(11n+11){display:none}}

/* finanza */
:where(.scene,.fs-ui,.anat-card) .rc{display:flex;align-items:flex-end;gap:8px;height:130px;padding-top:8px}
:where(.scene,.fs-ui,.anat-card) .rc span{flex:1;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:2px;height:100%;position:relative;padding-bottom:16px}
:where(.scene,.fs-ui,.anat-card) .rc i{display:block;border-radius:4px 4px 1px 1px;height:calc(var(--h) * 100%);transform-origin:50% 100%;transition:transform .9s var(--ease-out)}
:where(.scene,.fs-ui,.anat-card) .rc i.r{background:#6CB33A}:where(.scene,.fs-ui,.anat-card) .rc i.c{background:#E9A598}
:where(.scene,.fs-ui,.anat-card) .rc em{position:absolute;left:0;right:0;bottom:0;text-align:center;font-style:normal;font-size:9.5px;font-weight:700;color:#8B948E}
:where(.scene,.fs-ui,.anat-card) .rc .prov i{opacity:.55;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.5) 0 3px,transparent 3px 6px)}
.scene[data-step="1"] .rc i{transform:scaleY(.06)}
:where(.scene,.fs-ui,.anat-card) .proj{display:flex;align-items:flex-end;gap:6px;height:110px}
:where(.scene,.fs-ui,.anat-card) .proj i{flex:1;border-radius:4px 4px 1px 1px;height:calc(var(--h) * 100%);background:#E9A598}
:where(.scene,.fs-ui,.anat-card) .proj i.f{background:repeating-linear-gradient(135deg,#F3C9BF 0 4px,#fff 4px 7px);box-shadow:inset 0 0 0 1px #E9A598}
:where(.scene,.fs-ui,.anat-card) .proj-l{display:flex;justify-content:space-between;font-size:10px;font-weight:700;color:#8B948E;margin-top:6px}
:where(.scene,.fs-ui,.anat-card) .mkt{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#F7F8F5;font-size:12px;color:#4c5550}
:where(.scene,.fs-ui,.anat-card) .mkt svg{width:15px;height:15px;color:#8A6400}
:where(.scene,.fs-ui,.anat-card) .mkt b{color:#121712}
:where(.scene,.fs-ui,.anat-card) .mkt b.ok{color:#2F6B12}

/* whatsapp */
.scene.is-wa{background:#EFE7DD}
:where(.scene,.fs-ui,.anat-card) .wa-top .av{background:#121712}
:where(.scene,.fs-ui,.anat-card) .wa-stack{display:flex;flex-direction:column;gap:7px}
:where(.scene,.fs-ui,.anat-card) .wa-body > [data-show].wa-stack:not(.vis){position:absolute;visibility:hidden}
:where(.scene,.fs-ui,.anat-card) .wa-body{position:relative}
:where(.scene,.fs-ui,.anat-card) .ph.odo{display:flex;align-items:baseline;justify-content:center;gap:6px;height:84px;width:170px;background:radial-gradient(120% 120% at 50% 0%,#28312a,#0f1410);color:#B6F57A;border-radius:7px;margin:-2px -4px 4px}
:where(.scene,.fs-ui,.anat-card) .ph.odo span{font-size:26px;font-weight:700;letter-spacing:.08em;align-self:center}
:where(.scene,.fs-ui,.anat-card) .ph.odo em{font-style:normal;font-size:11px;color:#8fa57d;align-self:center}
:where(.scene,.fs-ui,.anat-card) .bub .tr{display:block;font-style:italic;color:#4f5a52;margin-top:4px;font-size:12px}
:where(.scene,.fs-ui,.anat-card) .ph4{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:186px;margin:-2px -4px 4px}
:where(.scene,.fs-ui,.anat-card) .ph4 span{height:62px;border-radius:6px;display:grid;place-items:center;align-content:center;gap:3px;background:linear-gradient(160deg,#cfd6cc,#a9b2a6);color:#fff}
:where(.scene,.fs-ui,.anat-card) .ph4 span svg{width:16px;height:16px}
:where(.scene,.fs-ui,.anat-card) .ph4 em{font-style:normal;font-size:10px;font-weight:700}

/* scena dentro le card della home: niente sidebar, più compatta */
:where(.scene,.fs-ui,.anat-card) .pillar-vis .ui-side{display:none}
:where(.scene,.fs-ui,.anat-card) .pillar-vis .ui{min-height:0}


/* card del piazzale (come la dashboard dell'app) */
:where(.scene,.fs-ui,.anat-card) .yard2{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
:where(.scene,.fs-ui,.anat-card) .vcd{background:#fff;border:1px solid #EEF0EA;border-radius:12px;padding:10px;transition:box-shadow .4s ease,border-color .4s ease,transform .5s var(--ease-out)}
:where(.scene,.fs-ui,.anat-card) .vcd.hl{border-color:#BFE0A0;box-shadow:0 0 0 3px #EAF6DF}
:where(.scene,.fs-ui,.anat-card) .vv{border-radius:9px;padding:8px 8px 5px;display:flex;justify-content:center}
:where(.scene,.fs-ui,.anat-card) .vv.pos{background:#F0F7EA}:where(.scene,.fs-ui,.anat-card) .vv.mid{background:#FDF6E3}:where(.scene,.fs-ui,.anat-card) .vv.neg{background:#FBEEEC}
:where(.scene,.fs-ui,.anat-card) .vv svg{width:86%;height:42px}
:where(.scene,.fs-ui,.anat-card) .vr{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:6px}
:where(.scene,.fs-ui,.anat-card) .vp{font-family:var(--mono);font-size:12px;font-weight:800;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .vk{font-family:var(--mono);font-size:10px;font-weight:700;border-radius:7px;padding:2px 7px;white-space:nowrap}
:where(.scene,.fs-ui,.anat-card) .vk.pos{color:#1F6E33;background:#EFF9EE;border:1px solid #CDEBCF}
:where(.scene,.fs-ui,.anat-card) .vk.mid{color:#8a6d00;background:#FEF8E7;border:1px solid #F1E3AC}
:where(.scene,.fs-ui,.anat-card) .vk.neg{color:#A33326;background:#FDF1EF;border:1px solid #F2D4D4}
:where(.scene,.fs-ui,.anat-card) .vf{display:flex;justify-content:space-between;font-size:9.5px;color:#8A91A0;margin-top:6px;white-space:nowrap;gap:6px}
:where(.scene,.fs-ui,.anat-card) .vf b{font-family:var(--mono);color:#3d4452;font-weight:600}
:where(.scene,.fs-ui,.anat-card) .vm{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:800;letter-spacing:.06em;color:#5a6172;border-radius:7px;padding:5px 8px;margin-top:7px}
:where(.scene,.fs-ui,.anat-card) .vm.pos{background:#F4FAEC}:where(.scene,.fs-ui,.anat-card) .vm.pos b{color:#1F6E33}
:where(.scene,.fs-ui,.anat-card) .vm.mid{background:#FEF8E7}:where(.scene,.fs-ui,.anat-card) .vm.mid b{color:#9a7b00}
:where(.scene,.fs-ui,.anat-card) .vm.neg{background:#FDF1EF}:where(.scene,.fs-ui,.anat-card) .vm.neg b{color:#A33326}
:where(.scene,.fs-ui,.anat-card) .vm b{font-family:var(--mono);font-size:10.5px}
@media (max-width: 760px){:where(.scene,.fs-ui,.anat-card) .yard2{grid-template-columns:repeat(2,1fr)}}
/* foto vere dentro le schermate (mezzo, officina) */
:where(.scene,.fs-ui,.anat-card) .vphoto{width:46px;height:46px;border-radius:12px;overflow:hidden;flex-shrink:0;background:#EEF1EA}
:where(.scene,.fs-ui,.anat-card) .vphoto img{width:100%;height:100%;object-fit:cover}
:where(.scene,.fs-ui,.anat-card) .phrow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
:where(.scene,.fs-ui,.anat-card) .phrow span{position:relative;aspect-ratio:4/3;border-radius:9px;overflow:hidden;background:#EEF1EA}
:where(.scene,.fs-ui,.anat-card) .phrow img{width:100%;height:100%;object-fit:cover}
:where(.scene,.fs-ui,.anat-card) .phrow em{position:absolute;left:5px;bottom:4px;font-style:normal;font-size:9.5px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}
:where(.scene,.fs-ui,.anat-card) .kpis4 .kpi b{font-size:16px}
:where(.scene,.fs-ui,.anat-card) .kpis4 .kpi small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
