:root{
  --fa-paper:#f6f2ea; --fa-paper-2:#efeadf; --fa-paper-3:#e6e0d2; --fa-card:#fdfbf5;
  --fa-ink:#18211c; --fa-ink-soft:#3a443d; --fa-ink-mute:#717a72;
  --fa-rule:rgba(24,33,28,.14); --fa-rule-strong:rgba(24,33,28,.30);
  --fa-turf:#1f7a43; --fa-turf-deep:#15592f; --fa-clay:#c9551f; --fa-clay-bg:rgba(201,85,31,.12);
  --fa-danger:#c0392b; --fa-danger-bg:rgba(192,57,43,.10);
  --fa-ui:'Manrope',system-ui,sans-serif; --fa-display:'Bebas Neue',Impact,sans-serif;
}

/* ---------- AUTH (guest) ---------- */
.fa-auth{
  min-height:100vh; margin:0;
  background:repeating-linear-gradient(90deg,transparent 0 95px,rgba(24,33,28,.035) 95px 96px),var(--fa-paper-3) !important;
  font-family:var(--fa-ui); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px 20px;
}
.fa-auth-brand{ display:flex; flex-direction:column; align-items:center; gap:0; margin-bottom:22px; text-decoration:none; }

/* crest */
.fa-crest{ width:120px; background:var(--fa-card); border:2.5px solid var(--fa-ink); border-radius:5px; overflow:hidden; text-align:center; box-shadow:5px 6px 0 rgba(24,33,28,.10); }
.fa-crest .top{ background:var(--fa-ink); color:var(--fa-paper); padding:6px 0 5px; font-family:var(--fa-ui); font-size:8px; font-weight:800; letter-spacing:.26em; text-transform:uppercase; }
.fa-crest .top .dot{ display:inline-block; width:4px; height:4px; background:var(--fa-clay); border-radius:50%; margin:0 6px; vertical-align:middle; }
.fa-crest .mid{ position:relative; padding:13px 0 6px; }
.fa-crest .mid .fl{ font-family:var(--fa-display); font-size:48px; line-height:.72; letter-spacing:1.5px; color:var(--fa-ink); display:block; }
.fa-crest .mid .bar{ position:absolute; left:50%; transform:translateX(-50%); bottom:1px; width:32px; height:4px; background:var(--fa-clay); }
.fa-crest .stripes{ display:flex; gap:3px; justify-content:center; margin:8px 0 9px; }
.fa-crest .stripes i{ width:7px; height:11px; }
.fa-crest .stripes i:nth-child(odd){ background:var(--fa-turf); }
.fa-crest .stripes i:nth-child(even){ background:var(--fa-ink); }
.fa-crest .name{ border-top:1px solid var(--fa-rule); padding:7px 0 8px; font-family:var(--fa-display); font-size:15px; letter-spacing:.06em; text-transform:uppercase; color:var(--fa-ink); }
.fa-crest .name b{ color:var(--fa-turf); font-weight:400; }

/* karta formuláře */
.fa-auth-card{
  width:100%; max-width:430px; margin-top:0 !important;
  background:var(--fa-card) !important; border:1px solid var(--fa-rule-strong) !important;
  border-top:3px solid var(--fa-turf) !important; border-radius:6px !important;
  box-shadow:8px 10px 0 rgba(24,31,23,.06) !important; padding:30px 30px 32px !important;
}
.fa-auth-title{ font-family:var(--fa-display); font-weight:400; font-size:26px; letter-spacing:.03em; text-transform:uppercase; color:var(--fa-ink); margin:0 0 18px; line-height:1; }

/* ---------- formulářové prvky (auth i profil) ---------- */
.fa-auth label, .fa-app label,
.fa-auth .block.font-medium, .fa-app .block.font-medium{
  font-family:var(--fa-ui) !important; font-size:11px !important; font-weight:800 !important;
  letter-spacing:.12em !important; text-transform:uppercase !important; color:var(--fa-ink-mute) !important;
}
.fa-auth input:not([type=checkbox]):not([type=radio]), .fa-app input:not([type=checkbox]):not([type=radio]),
.fa-auth select, .fa-app select, .fa-auth textarea, .fa-app textarea{
  border:1px solid var(--fa-rule-strong) !important; border-radius:3px !important;
  background:var(--fa-paper-2) !important; box-shadow:none !important; color:var(--fa-ink) !important;
  font-family:var(--fa-ui) !important; padding:10px 12px !important;
}
.fa-auth input:focus, .fa-app input:focus, .fa-auth select:focus, .fa-app select:focus, .fa-auth textarea:focus, .fa-app textarea:focus{
  border-color:var(--fa-turf) !important; box-shadow:0 0 0 2px rgba(31,122,67,.22) !important; outline:none !important;
}
.fa-auth input[type=checkbox], .fa-app input[type=checkbox]{ border-radius:2px !important; color:var(--fa-turf) !important; border-color:var(--fa-rule-strong) !important; }
.fa-auth input[type=checkbox]:focus, .fa-app input[type=checkbox]:focus{ box-shadow:0 0 0 2px rgba(31,122,67,.25) !important; }

/* primární tlačítko → inkoust + Bebas (kromě danger .bg-red-600) */
.fa-auth button[type=submit]:not(.bg-red-600), .fa-app button[type=submit]:not(.bg-red-600),
.fa-auth .inline-flex.items-center.px-4:not(.bg-red-600), .fa-app .inline-flex.items-center.px-4:not(.bg-red-600){
  background:var(--fa-ink) !important; color:var(--fa-paper) !important; border:none !important; border-radius:3px !important;
  font-family:var(--fa-display) !important; font-weight:400 !important; font-size:15px !important;
  letter-spacing:.06em !important; text-transform:uppercase !important; padding:11px 22px !important; white-space:nowrap !important;
}
.fa-auth button[type=submit]:not(.bg-red-600):hover, .fa-app button[type=submit]:not(.bg-red-600):hover{ background:var(--fa-turf) !important; }

/* odkazy */
.fa-auth a, .fa-app .text-sm a{ color:var(--fa-ink-soft) !important; text-underline-offset:2px; }
.fa-auth a:hover, .fa-app .text-sm a:hover{ color:var(--fa-turf) !important; }

/* chyby */
.fa-auth [class*="text-red"], .fa-app [class*="text-red"]{ color:var(--fa-danger) !important; }

/* ---------- PROFIL (app layout) ---------- */
.fa-app{ background:repeating-linear-gradient(90deg,transparent 0 95px,rgba(24,33,28,.035) 95px 96px),var(--fa-paper) !important; }
.fa-app nav.bg-white, .fa-app header.bg-white{ background:var(--fa-card) !important; border-bottom:2px solid var(--fa-ink) !important; box-shadow:none !important; }
.fa-app header h2{ font-family:var(--fa-display) !important; font-weight:400 !important; font-size:26px !important; letter-spacing:.03em !important; text-transform:uppercase !important; color:var(--fa-ink) !important; }
.fa-app .bg-white.shadow-md, .fa-app .bg-white.shadow-sm, .fa-app .sm\:rounded-xl, .fa-app .sm\:rounded-lg{
  background:var(--fa-card) !important; border:1px solid var(--fa-rule-strong) !important; border-radius:6px !important; box-shadow:8px 10px 0 rgba(24,31,23,.05) !important;
}
.fa-app .text-lg.font-medium{ font-family:var(--fa-display) !important; font-weight:400 !important; font-size:19px !important; letter-spacing:.04em !important; text-transform:uppercase !important; color:var(--fa-ink) !important; }
.fa-app .bg-white.border.border-gray-300{ border-radius:3px !important; border-color:var(--fa-rule-strong) !important; color:var(--fa-ink) !important; }
.fa-app .text-sm.text-gray-600{ color:var(--fa-ink-mute) !important; }

/* danger tlačítko */
.fa-app .bg-red-600, .fa-auth .bg-red-600{ background:var(--fa-danger) !important; color:#fff !important; border:none !important; border-radius:3px !important;
  font-family:var(--fa-display) !important; font-weight:400 !important; font-size:15px !important; letter-spacing:.06em !important; text-transform:uppercase !important; padding:11px 22px !important; white-space:nowrap !important; }
.fa-app .bg-red-600:hover, .fa-auth .bg-red-600:hover{ background:#a4302a !important; }
