/* Customer-facing documents: terms, quote approval, invoice. Light and printable. */
:root { --ink: #241A13; --muted: #6E5B4C; --line: #E3D6C2; --bg: #F4EEE3; --card: #FFFDF8; --loam: #0B2A35; --yellow: #F2B33D; --green: #2F6B2F; --red: #A1301C; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 17px/1.6 system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--loam); }
.top { background: var(--loam); color: #F1E6D2; }
.top .in { max-width: 820px; margin: 0 auto; padding: 14px 18px; display: flex; align-items: center; gap: 12px; }
.top a { color: inherit; text-decoration: none; font-weight: 800; letter-spacing: .03em; }
.top img { width: 36px; height: 36px; }
.top span { margin-left: auto; font-size: .95rem; }
main { max-width: 820px; margin: 0 auto; padding: 22px 18px 70px; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 20px; }
h1 { font-size: 1.7rem; line-height: 1.2; margin: .2rem 0 .4rem; }
h2 { font-size: 1.05rem; text-transform: uppercase; letter-spacing: .04em; margin: 1.8rem 0 .5rem; }
.meta { color: var(--muted); margin-top: 0; }
table { width: 100%; border-collapse: collapse; margin: 14px 0; }
th, td { text-align: left; padding: 9px 6px; border-bottom: 1px solid var(--line); vertical-align: top; }
th:last-child, td:last-child { text-align: right; white-space: nowrap; }
tfoot th { font-size: 1.15rem; border-bottom: 0; }
.lien { font-size: 12pt; font-weight: 700; line-height: 1.45; }
.box { border: 2px solid var(--yellow); border-radius: 12px; padding: 16px 18px; margin: 18px 0; background: #FFF8E8; }
.box ul { margin: .4rem 0 0; padding-left: 1.2rem; }
form label { display: block; font-weight: 700; margin: 14px 0 6px; }
form input[type=text] { width: 100%; font: inherit; padding: 12px; border: 1px solid #CDBDA6; border-radius: 8px; background: #fff; }
.check { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; }
.check input { width: 22px; height: 22px; margin-top: 3px; flex: none; }
button { margin-top: 18px; width: 100%; min-height: 52px; font: inherit; font-weight: 800; font-size: 1.1rem; border: 0; border-radius: 10px; background: var(--yellow); color: #1B1410; cursor: pointer; }
.ok { border-left: 5px solid var(--green); }
.err { border-left: 5px solid var(--red); color: var(--red); font-weight: 700; }
.badge { display: inline-block; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; padding: 3px 9px; border-radius: 99px; vertical-align: middle; background: var(--line); }
.paid { background: #DCEBD9; color: var(--green); }
.toc { columns: 2; padding-left: 1.2rem; }
@media (max-width: 560px) { .toc { columns: 1; } }
@media print { body { background: #fff; } .top, .noprint, form { display: none; } .card { border: 0; padding: 0; } }
