/* Jigsaw Filo · LOGO_R1. Il marchio originale conserva proporzioni e trasparenza. */
.filo-logo { display: block; width: 176px; max-width: 100%; flex: 0 0 auto; border-radius: 8px; }
.filo-logo picture, .filo-logo img { display: block; width: 100%; height: auto; }
.filo-logo:focus-visible { outline: 3px solid #1d5c4a; outline-offset: 6px; }
.testata { background: #faf8f2; color: #1d3b31; padding: 16px 28px; border-bottom: 1px solid #dedbd1; }
.testata .marchio { gap: 28px; }
.testata h1.filo-logo-heading { margin: 0; line-height: 0; font-size: inherit; }
.testata .operatore input { border-color: #c8d3c8; color: #1f2420; background: #fff; }
.testata .operatore small { opacity: 1; color: #526257; }
.testata .badge { max-width: 38rem; }
.filo-login { margin: 0; min-height: 100svh; display: grid; place-items: center; background: #f4f5f2;
  color: #22372d; font: 16px/1.5 "Segoe UI", Arial, sans-serif; }
.filo-login * { box-sizing: border-box; }
.filo-login-card { width: min(440px, calc(100% - 32px)); padding: 32px 36px 24px; margin: 24px auto;
  background: #fffefa; border: 1px solid #e0ddd4; border-radius: 18px; box-shadow: 0 12px 36px #1e362414; }
.filo-login .filo-logo { width: 240px; margin: 0 auto 24px; }
.filo-login h1 { font-size: 1.5rem; line-height: 1.25; margin: 0 0 8px; }
.filo-login-intro { color: #627066; font-size: .94rem; margin: 0 0 24px; }
.filo-login form { display: grid; gap: 8px; }
.filo-login label { font-size: .92rem; font-weight: 600; }
.filo-login input { width: 100%; min-height: 44px; padding: 10px 12px; margin-bottom: 10px;
  border: 1px solid #b9c6ba; border-radius: 7px; background: #fff; color: #22372d; font: inherit; }
.filo-login input:focus-visible { outline: 2px solid #1d5c4a; outline-offset: 2px; }
.filo-login button { min-height: 46px; margin-top: 6px; padding: 10px 16px; border: 1px solid #1d5c4a;
  border-radius: 7px; background: #1d5c4a; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.filo-login button:hover { background: #164837; }
.filo-login button:disabled { opacity: .6; cursor: progress; }
.filo-login button:focus-visible { outline: 3px solid #7ca38a; outline-offset: 3px; }
.filo-login #errore { margin: 8px 0 0; min-height: 1.5em; color: #9b1c1c; font-size: .92rem; }
@media (max-width: 600px) {
  .testata { padding: 12px 16px; gap: 16px; }
  .testata .filo-logo { width: 144px; }
  .testata .marchio { gap: 14px; width: 100%; }
  .testata .badge { flex: 1 1 180px; }
  .filo-login-card { padding: 28px 24px 20px; }
}
