:root { color-scheme: light; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin: 0; background:#f6f7f9; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 20px; }
.grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; align-items: start; }
.card { background: #fff; border: 1px solid #e6e8ee; border-radius: 12px; padding: 18px; }
.muted { color: #667085; }
.form label { display: block; margin: 10px 0; font-size: 14px; }
.form input, .form select, .form textarea { width: 100%; padding: 10px; border: 1px solid #d0d5dd; border-radius: 10px; box-sizing: border-box; }
.row { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.checks label { display:block; margin: 6px 0; }
.inline { margin-right: 14px; display:inline-flex; gap:8px; align-items:center; }
.actions { display:flex; flex-wrap: wrap; gap:10px; margin-top: 14px; }
button { padding: 10px 14px; border-radius: 10px; border: 1px solid #111; background:#111; color:#fff; cursor:pointer; }
button.secondary { background:#fff; color:#111; }
.preview { background: #fff; border: 1px dashed #d0d5dd; padding: 14px; border-radius: 12px; overflow:auto; max-height: 75vh; }
.preview.full { max-height: none; }
.statement h1 { margin-top: 0; }
.statement .toc { background:#f7f8fb; border:1px solid #e6e8ee; padding: 12px; border-radius: 10px; }
.statement hr { border:0; border-top:1px solid #e6e8ee; margin: 18px 0; }
.flash { background:#fff3cd; border:1px solid #ffe69c; padding:10px 12px; border-radius:10px; }
.search { display:flex; gap:10px; margin-top: 10px; }
.search input { flex:1; }
.tbl { width:100%; border-collapse: collapse; }
.tbl th, .tbl td { text-align:left; padding:10px; border-bottom:1px solid #e6e8ee; vertical-align: top; }
.tbl th { font-size: 12px; color:#667085; text-transform: uppercase; letter-spacing: .04em; }
.nowrap { white-space: nowrap; }
.danger { color: #b42318; }
.meta { display: grid; gap: 6px; margin-bottom: 14px; }
@media (max-width: 980px) { .grid { grid-template-columns: 1fr; } }

.small { font-size: 12px; }
.toolbox { display: grid; gap: 10px; }
.tool { border: 1px solid #e6e8ee; border-radius: 12px; padding: 10px 12px; background: #fafbff; }
.tool-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tool-head label { margin: 0; }
.tool-link { font-size: 12px; color: #111; text-decoration: underline; }
.tool-desc { margin: 8px 0 0; font-size: 13px; color: #475467; }
.sr-box { margin-top: 12px; padding-top: 10px; border-top: 1px dashed #d0d5dd; }

.auth { display:flex; justify-content:center; }
.auth-card { max-width: 520px; width: 100%; }
.btnlink { display:inline-block; padding: 10px 0; color:#111; text-decoration: underline; font-size: 14px; }
.flash.success { background:#ecfdf3; border-color:#abefc6; }
.flash.error { background:#fef3f2; border-color:#fecdca; }
