/* ARVDesk: plain, readable, no build step. Copyright (c) 2026 CLA/RE Inc. All rights reserved. */
:root { --ink:#1f2933; --muted:#616e7c; --line:#d9e2ec; --bg:#f5f7fa; --brand:#1d4e89; --ok:#1f7a3a; --warn:#a86500; --bad:#b42318; }
* { box-sizing: border-box; }
body { margin:0; font: 15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); background:var(--bg); }
a { color: var(--brand); }
header.top { background:var(--brand); color:#fff; padding:.5rem 1rem; display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
header.top a { color:#fff; text-decoration:none; margin-right:.75rem; }
header.top .brand { font-weight:700; font-size:1.1rem; }
header.top form { display:inline; margin:0; }
header.top .right { margin-left:auto; display:flex; gap:.5rem; align-items:center; }
main { max-width:1200px; margin:1rem auto; padding:0 1rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:6px; padding:1rem; margin-bottom:1rem; }
.grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap:1rem; }
table { border-collapse:collapse; width:100%; background:#fff; }
th, td { border-bottom:1px solid var(--line); padding:.35rem .5rem; text-align:left; vertical-align:top; }
th { background:#eef2f7; font-weight:600; }
td.num, th.num { text-align:right; font-variant-numeric: tabular-nums; }
tr.total td { font-weight:700; border-top:2px solid var(--ink); }
.opening { background:#fff8e1; }
.tag { display:inline-block; padding:0 .4rem; border-radius:3px; font-size:.8rem; font-weight:600; }
.tag.ok { background:#e3f4e8; color:var(--ok); } .tag.warn { background:#fff1d6; color:var(--warn); }
.tag.bad { background:#fde7e5; color:var(--bad); } .tag.info { background:#e6eef8; color:var(--brand); }
.tag.opening-label { background:#ffe8a3; color:#5c4400; }
.msg { padding:.5rem .75rem; border-radius:4px; margin-bottom:.5rem; }
.msg.success { background:#e3f4e8; } .msg.error { background:#fde7e5; } .msg.warning { background:#fff1d6; } .msg.info { background:#e6eef8; }
form p, form div.field { margin:.4rem 0; }
label { font-weight:600; display:block; }
input, select, textarea { font:inherit; padding:.3rem; border:1px solid #9aa5b1; border-radius:4px; max-width:100%; }
input[type=checkbox] { width:auto; }
.helptext { color:var(--muted); font-size:.85rem; display:block; }
.errorlist { color:var(--bad); margin:.2rem 0; padding-left:1rem; }
button, .button { background:var(--brand); color:#fff; border:0; border-radius:4px; padding:.45rem .9rem; font:inherit; cursor:pointer; text-decoration:none; display:inline-block; }
button.secondary, .button.secondary { background:#fff; color:var(--brand); border:1px solid var(--brand); }
.muted { color:var(--muted); }
.formrow { display:flex; gap:.5rem; flex-wrap:wrap; align-items:flex-end; }
.formrow > div { flex: 1 1 140px; }
.fake-banner { background:#fff1d6; border:1px dashed var(--warn); padding:.3rem .6rem; font-size:.85rem; }
footer { color:var(--muted); font-size:.8rem; text-align:center; margin:2rem 0; }
table.inner { background:transparent; } table.inner td { border:0; padding:0 .4rem 0 0; font-size:.85rem; }
.bad { color: var(--bad); }
.table-wrap { overflow-x:auto; }
table.report tr.section td { font-weight:600; background:var(--bg); }
table.report tr.subtotal td { font-weight:600; border-top:1px solid var(--ink); }
table.report tr.total td { font-weight:700; border-top:1px solid var(--ink); border-bottom:3px double var(--ink); }
table.report tr.opening td { background:#fff8e1; } table.report tr.muted td { color:var(--muted); font-style:italic; }
