/* AutoBooks styles. Colors: charcoal #303030, green #2c8f64, soft green #e4ede7, lime #b2cf7e */
* { box-sizing: border-box; }
body { margin: 0; font-family: Montserrat, "Segoe UI", Arial, sans-serif; color: #303030; background: #fafbfa; font-size: 15px; }
a { color: #2c8f64; }
.topbar { display: flex; align-items: center; gap: 16px; padding: 12px 28px; background: #303030; color: #fff; }
.topbar .brand { color: #fff; font-weight: 700; text-decoration: none; font-size: 18px; }
.topbar nav { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.topbar nav a, .topbar .who { color: #fff; }
.tag { background: #b2cf7e; color: #303030; padding: 2px 8px; border-radius: 4px; font-size: 12px; font-weight: 700; }
main { max-width: 1200px; margin: 0 auto; padding: 24px 28px 60px; }
h1 { font-size: 26px; margin: 8px 0 16px; }
h2 { font-size: 18px; margin: 32px 0 10px; color: #2c8f64; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { text-align: left; padding: 8px; border-bottom: 1px solid #dfe5e1; vertical-align: top; }
th { font-size: 13px; color: #555; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
tr.strong { background: #e4ede7; }
tr.weak td:first-child { border-left: 3px solid #b2cf7e; }
.report tr.header td { font-weight: 700; }
.report tr.total td { font-weight: 700; border-top: 1px solid #303030; }
button, .button { font: inherit; padding: 7px 14px; border: 1px solid #303030; background: #fff; color: #303030; border-radius: 4px; cursor: pointer; text-decoration: none; display: inline-block; }
button.primary { background: #2c8f64; border-color: #2c8f64; color: #fff; }
button.danger { border-color: #303030; color: #303030; }
button.link { border: none; background: none; color: #fff; padding: 0; text-decoration: underline; }
button:disabled { opacity: .4; cursor: not-allowed; }
form.inline { display: inline; }
.actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.row-between { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.decide { display: flex; gap: 6px; flex-wrap: wrap; }
.decide select { max-width: 260px; }
.card { background: #fff; border: 1px solid #dfe5e1; border-radius: 6px; padding: 24px; }
.narrow { max-width: 420px; margin: 40px auto; }
label { display: block; margin-bottom: 12px; font-size: 14px; }
input, select { font: inherit; padding: 7px; border: 1px solid #b9c4bd; border-radius: 4px; width: 100%; margin-top: 4px; }
.period { display: flex; gap: 12px; align-items: flex-end; }
.period label { width: 180px; margin: 0; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
@media (max-width: 900px) { .two-col { grid-template-columns: 1fr; } }
.flash { padding: 10px 14px; border-radius: 4px; margin-bottom: 14px; }
.flash.ok { background: #e4ede7; }
.flash.error { background: #fff; border: 1px solid #303030; }
.muted { color: #666; }
.small { font-size: 12px; }
.bad { font-weight: 700; }
code { background: #e4ede7; padding: 1px 5px; border-radius: 3px; }

/* ----- Part 8 additions ----- */
.report td.depth-0 { padding-left: 8px; }
.report td.depth-1 { padding-left: 26px; }
.report td.depth-2 { padding-left: 44px; }
.report td.depth-3 { padding-left: 62px; }
.report td.depth-4 { padding-left: 80px; }
.report td.depth-5 { padding-left: 98px; }
.report td.depth-6 { padding-left: 116px; }
.footer { max-width: 1200px; margin: 0 auto; padding: 0 28px 32px; font-size: 12px; color: #666; }
.setup li { margin-bottom: 10px; }
.keybox { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 8px 0; padding: 10px 12px; background: #e4ede7; border-radius: 4px; }
.keybox dt { font-weight: 700; font-size: 13px; }
.keybox dd { margin: 0; }
.keybox .key { font-family: Consolas, "Cascadia Mono", monospace; font-size: 16px; letter-spacing: .05em; word-break: break-all; }
.legal { max-width: 760px; }
.legal li { margin-bottom: 6px; }
