/* ---------- rifiniture ---------- */

/* ricerca globale */
.lc-search { width: 340px; max-width: 38vw; margin-left: 18px; }
.lc-search .mud-input-outlined-border { border-radius: 999px; }
.lc-search .mud-input { background: #F7F4EF; border-radius: 999px; font-size: .88rem; }
.lc-hit { display: flex; align-items: center; gap: 10px; padding: 2px 0; }
.lc-hit-title { font-weight: 600; font-size: .9rem; color: #1F2A44; line-height: 1.2; }
.lc-hit-sub { font-size: .76rem; color: #5F6783; }
@media (max-width: 760px) { .lc-search { display: none; } }

/* guida e benvenuto */
.lc-guide-card { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 18px; border-radius: 18px; background: #fff; border: 1px solid #E8E2D9;
  color: #5F6783; font-size: .88rem; text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s; }
.lc-guide-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(31,42,68,.1); border-color: #D9B8BE; }
.lc-guide-card b { font: 600 1.05rem 'Fraunces', serif; color: #1F2A44; }
.lc-guide-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #FBEAEC; color: #B8233B; margin-bottom: 4px; }
.lc-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.lc-step { display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; border-radius: 14px; background: #FAF8F5; border: 1px solid #EFE9E0; text-decoration: none; color: #5F6783; font-size: .88rem; transition: background .15s, transform .15s; }
.lc-step:hover { background: #FBF1F3; transform: translateX(4px); }
.lc-step b { color: #1F2A44; font-size: .95rem; }
.lc-tips { margin: 0; padding-left: 18px; display: grid; gap: 6px; color: #3D4560; font-size: .9rem; }
.lc-tips kbd { padding: 1px 7px; border: 1px solid #D6CEC1; border-bottom-width: 2px; border-radius: 6px; background: #fff; font: 600 .8rem 'Inter', sans-serif; }
.lc-demo-card { background: linear-gradient(135deg, #FFF8F0, #FBEAEC); border-color: #F0D7DB; }
.lc-welcome { text-align: center; padding: 8px 4px 0; }
.lc-welcome-list { text-align: left; margin: 0 auto; padding-left: 18px; display: grid; gap: 8px; max-width: 440px; font-size: .92rem; color: #3D4560; }

/* report */
.lc-trend { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; align-items: end; height: 190px; }
.lc-trend-col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 3px; cursor: default; }
.lc-trend-bars { display: flex; align-items: flex-end; gap: 3px; height: 140px; width: 100%; justify-content: center; }
.lc-trend-bar { display: block; width: 38%; max-width: 22px; min-height: 3px; border-radius: 6px 6px 2px 2px; transition: height .6s cubic-bezier(.2,.8,.2,1); }
.lc-trend-col1 { background: #B8233B; }
.lc-trend-col2 { background: #1F2A44; }
.lc-trend-n { font-size: .72rem; font-weight: 600; color: #1F2A44; }
.lc-trend-m { font-size: .7rem; color: #8A8FA5; text-transform: capitalize; }
.lc-key { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: middle; }
.lc-rep-head, .lc-rep-row { display: grid; grid-template-columns: minmax(0, 1fr) 150px 64px; gap: 10px; align-items: center; }
.lc-rep-head { padding: 0 4px 6px; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: #8A8FA5; border-bottom: 1px solid #EFE9E0; }
.lc-rep-head span:nth-child(n+2) { text-align: right; }
.lc-rep-row { padding: 7px 4px; border-bottom: 1px solid #F5F1EA; font-size: .86rem; }
.lc-rep-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #1F2A44; }
.lc-rep-n { position: relative; display: block; text-align: right; padding: 3px 8px; border-radius: 8px; color: #1F2A44; text-decoration: none; overflow: hidden; }
.lc-rep-n b { position: relative; font-weight: 600; }
.lc-rep-bar { position: absolute; inset: 0 auto 0 0; background: #FBEAEC; border-radius: 8px; transition: width .6s cubic-bezier(.2,.8,.2,1); }
.lc-rep-n:hover { background: #F4DCDF; }
.lc-rep-n2:hover { background: #E4E8F3; }

/* barra di salvataggio fissa: lascia spazio in fondo alla pagina */
.lc-savebar + * { margin-top: 0; }
.mud-main-content { padding-bottom: 12px; }
.lc-has-savebar { padding-bottom: 96px; }

/* freschezza nelle tile */
.lc-tile-foot .lc-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; background: #B5B9C9; }
.lc-dot-ok { background: #2E7D5B !important; } .lc-dot-warn { background: #C79A3B !important; } .lc-dot-old { background: #B8233B !important; }

/* telefono */
@media (max-width: 600px) {
  .lc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .lc-kpi { padding: 14px 14px; }
  .lc-kpi-n { font-size: 1.7rem; }
  .lc-rep-head, .lc-rep-row { grid-template-columns: minmax(0, 1fr) 110px 52px; }
  .lc-demobar { font-size: .74rem; gap: 8px; }
  .mud-container { padding-left: 14px !important; padding-right: 14px !important; }
  .lc-pagehead h4, .lc-pagehead .mud-typography-h4 { font-size: 1.7rem; }
}

/* stati vuoti */
.lc-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 48px 16px; text-align: center; color: #8A8FA5; }
.lc-empty .mud-typography-h6, .lc-empty .mud-typography-h5 { color: #1F2A44; }

@media (max-width: 600px) {
  .lc-brand { white-space: nowrap; font-size: 1.05rem; }
  .mud-appbar .mud-chip { max-width: 150px; }
  .mud-appbar .mud-chip .mud-chip-content { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
/* rifiniture successive */
.lc-todo > .lc-sub:last-child, .lc-todo > .lc-fresh-item { white-space: nowrap; }
