@font-face {
  font-family: "Lucon";
  src: url("/lucon.ttf") format("truetype");
  font-display: swap;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html, body { min-height: 100%; background: #36422e; }

body {
  font-family: "Lucon", "Lucida Console", "Consolas", monospace;
  color: #cdc9b6;
  padding: 40px;
  line-height: 1.5;
  font-size: 15px;
}

.name { color: #d7a14e; font-weight: bold; font-size: 30px; letter-spacing: 1px; margin-bottom: 22px; }
.label { color: #8f9a7e; text-transform: uppercase; font-size: 12px; letter-spacing: 2px; margin-bottom: 16px; }

.form { display: flex; flex-direction: column; max-width: 460px; gap: 8px; }
.form label { color: #8f9a7e; text-transform: uppercase; font-size: 11px; letter-spacing: 2px; }

input[type="password"] {
  background: #2b3424;
  border: 1px solid #5c684c;
  color: #cdc9b6;
  font-family: inherit;
  font-size: 15px;
  padding: 8px 10px;
}

button {
  background: none;
  border: none;
  color: #d7a14e;
  font-family: inherit;
  font-size: 15px;
  font-weight: bold;
  cursor: pointer;
  padding: 8px 0;
  text-align: left;
  letter-spacing: 1px;
}
button:hover { text-decoration: underline; }

.error { color: #d98a6a; font-size: 13px; }
.muted { color: #9aa488; font-size: 13px; margin-bottom: 6px; }
.panel { margin-bottom: 26px; }
a { color: #d7a14e; }

input[type="email"],
input[type="text"],
textarea {
  background: #2b3424;
  border: 1px solid #5c684c;
  color: #cdc9b6;
  font-family: inherit;
  font-size: 15px;
  padding: 8px 10px;
}

textarea {
  width: 100%;
  min-height: 120px;
  resize: vertical;
}
.submission {
  margin: 12px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #2b3424;
}
.submission-meta {
  color: #8f9a7e;
  font-size: 12px;
  letter-spacing: 1px;
  margin-bottom: 4px;
}
.submission-body {
  color: #cdc9b6;
  white-space: pre-wrap;
}

select {
  background: #2b3424;
  border: 1px solid #5c684c;
  color: #cdc9b6;
  font-family: inherit;
  font-size: 15px;
  padding: 8px 10px;
}
.item {
  display: flex;
  gap: 16px;
  align-items: baseline;
  margin: 6px 0;
}
.item-desc { flex: 1; color: #cdc9b6; }
.item-amount { color: #cdc9b6; white-space: nowrap; }
.item-total { border-top: 1px solid #2b3424; margin-top: 8px; padding-top: 8px; font-weight: bold; }
form.inline { display: inline; }
form.inline button { font-size: 12px; color: #d98a6a; padding: 0; }
.status { text-transform: uppercase; font-size: 11px; letter-spacing: 1px; }
.status-draft { color: #9aa488; }
.status-open { color: #d7a14e; }
.status-paid { color: #7fa86a; }
.log {
  background: #2b3424;
  border: 1px solid #5c684c;
  color: #cdc9b6;
  font-family: inherit;
  font-size: 14px;
  padding: 12px;
  white-space: pre-wrap;
  word-break: break-word;
  max-width: 800px;
  margin-bottom: 16px;
}
.item-hours { color: #8f9a7e; white-space: nowrap; }
.notes { color: #cdc9b6; white-space: pre-wrap; max-width: 800px; }
.pay-note { color: #9aa488; font-size: 13px; margin-top: 8px; max-width: 600px; }
.contact-footer { color: #8f9a7e; font-size: 12px; letter-spacing: 1px; margin-top: 26px; border-top: 1px solid #2b3424; padding-top: 12px; }
