* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; height: 100%; }
body {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  color: #211C15;
  -webkit-font-smoothing: antialiased;
  background: #ECE7DC;
}
::selection { background: #6B2230; color: #fff; }
input, select, textarea, button { font-family: inherit; }
input:focus, select:focus, textarea:focus { outline: none; }
button { font-family: inherit; }

@keyframes lfShimmer { 0% { background-position: -340px 0; } 100% { background-position: 340px 0; } }
@keyframes lfFadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes lfPulseDot { 0%,100% { opacity: .35; } 50% { opacity: 1; } }

.lf-scroll::-webkit-scrollbar { width: 9px; height: 9px; }
.lf-scroll::-webkit-scrollbar-thumb { background: #D8D1C2; border-radius: 9px; border: 2px solid transparent; background-clip: padding-box; }
.lf-scroll::-webkit-scrollbar-track { background: transparent; }

.lf-burger { display: none; }

@media (max-width: 900px) {
  .lf-burger { display: flex !important; }
  .lf-header { padding: 0 14px !important; }
  .lf-status-pill { display: none !important; }
  .lf-user-meta { display: none !important; }
  .lf-sidebar { position: fixed !important; top: 0; left: 0; bottom: 0; width: 264px !important; z-index: 60 !important; transform: translateX(-100%); transition: transform .28s ease; box-shadow: 0 0 50px rgba(28,22,16,.22); }
  .lf-sidebar.lf-open { transform: translateX(0); }
  .lf-main-pad { padding-left: 16px !important; padding-right: 16px !important; }
  .lf-main-pad-top { padding-top: 22px !important; }
  .lf-tpl-grid { grid-template-columns: 1fr !important; }
  .lf-form-grid { grid-template-columns: 1fr !important; }
  .lf-verify-grid { grid-template-columns: 1fr !important; }
  .lf-export-grid { grid-template-columns: 1fr !important; }
  .lf-dossier-head { display: none !important; }
  .lf-dossier-row { display: flex !important; flex-direction: column; align-items: flex-start; gap: 7px !important; }
  .lf-dossier-hide { display: none !important; }
  .lf-dosheader-row { flex-direction: column !important; gap: 16px; }
  .lf-dosheader-meta { flex-wrap: wrap !important; gap: 16px 22px !important; }
  .lf-gen-pad { padding-left: 16px !important; padding-right: 16px !important; }
  .lf-step-label { display: none !important; }
  .lf-doc { padding: 30px 22px !important; }
  .lf-clause-tag { display: none !important; }
}
@media (max-width: 560px) {
  .lf-hero-row { flex-direction: column !important; align-items: stretch !important; gap: 16px; }
  .lf-hero-row > button { width: 100%; justify-content: center; }
}
