/* Fornello — Compte et journal. Même papier millimétré que le calculateur. */
.fornello-acct {
	--fa-paper: #EDF2EF;
	--fa-ink: #12201B;
	--fa-soft: #4C6058;
	--fa-line: #B3C7BF;
	--fa-pen: #C2371F;
	--fa-pen-dark: #9E2C18;
	--fa-blue: #1F5F7A;
	color: var(--fa-ink);
	font-family: ui-monospace, "SF Mono", "Roboto Mono", Menlo, monospace;
	font-size: 15px;
	line-height: 1.5;
	max-width: 880px;
	margin: 0 auto;
}
.fornello-acct *, .fornello-acct *::before, .fornello-acct *::after { box-sizing: border-box; }
.fornello-acct h2 { font-size: 17px; margin: 0 0 10px; letter-spacing: .02em; text-transform: uppercase; }
.fornello-acct p { margin: 0 0 12px; }
.fornello-acct a { color: var(--fa-blue); }
.fa-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 16px; }
.fa-card { background: var(--fa-paper); border: 2px solid var(--fa-ink); padding: 18px; margin: 0 0 16px; }
.fa-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-bottom: 12px; }
.fornello-acct label { display: block; font-size: 13px; color: var(--fa-soft); margin-bottom: 12px; }
.fornello-acct input[type=text], .fornello-acct input[type=email], .fornello-acct input[type=password],
.fornello-acct input[type=number], .fornello-acct input[type=date], .fornello-acct textarea {
	display: block; width: 100%; margin-top: 4px; padding: 11px 12px; min-height: 44px;
	font: inherit; color: var(--fa-ink); background: #fff; border: 1.5px solid var(--fa-ink); border-radius: 0;
}
.fornello-acct input:focus-visible, .fornello-acct textarea:focus-visible, .fa-btn:focus-visible, .fa-link:focus-visible {
	outline: 3px solid var(--fa-blue); outline-offset: 2px;
}
.fa-check { display: flex !important; gap: 10px; align-items: flex-start; }
.fa-check input { width: 22px; height: 22px; margin-top: 2px; flex: none; }
.fa-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0; }
.fa-btn {
	display: inline-block; padding: 12px 20px; min-height: 44px; cursor: pointer; text-decoration: none;
	font: inherit; font-weight: 700; color: #fff !important; background: var(--fa-pen); border: 2px solid var(--fa-pen);
}
.fa-btn:hover { background: var(--fa-pen-dark); border-color: var(--fa-pen-dark); }
.fa-btn:disabled { opacity: .6; cursor: wait; }
.fa-ghost { background: transparent; color: var(--fa-ink) !important; border-color: var(--fa-ink); }
.fa-ghost:hover { background: var(--fa-ink); color: #fff !important; }
.fa-danger { background: #fff; color: var(--fa-pen-dark) !important; border-color: var(--fa-pen-dark); }
.fa-danger:hover { background: var(--fa-pen-dark); color: #fff !important; }
.fa-row { display: flex; flex-wrap: wrap; gap: 10px; }
.fa-msg { min-height: 1.4em; font-size: 14px; }
.fa-good { color: #1b6b3a; }
.fa-bad { color: var(--fa-pen-dark); font-weight: 700; }
.fa-banner { background: #fff; border: 2px solid var(--fa-blue); padding: 12px 14px; margin-bottom: 16px; }
.fa-list { list-style: none; margin: 0; padding: 0; }
.fa-list li { border-top: 1px solid var(--fa-line); padding: 12px 0; }
.fa-meta { color: var(--fa-soft); font-size: 13px; }
.fa-notes { margin: 6px 0 0; color: var(--fa-soft); font-size: 14px; }
.fa-link { background: none; border: 0; padding: 8px 4px; margin-left: 8px; min-height: 44px; font: inherit; font-size: 13px; color: var(--fa-pen-dark); text-decoration: underline; cursor: pointer; }
.fornello-acct #loginform p { margin: 0 0 12px; }
.fornello-acct #loginform input[type=submit] { padding: 12px 20px; min-height: 44px; font: inherit; font-weight: 700; color: #fff; background: var(--fa-pen); border: 2px solid var(--fa-pen); cursor: pointer; }
.fornello-acct #loginform .login-remember label { display: flex; gap: 8px; align-items: center; }
@media (prefers-reduced-motion: reduce) { .fornello-acct * { transition: none !important; } }
