:root{--bg:#f5f6f8;--card:#fff;--ink:#1c2430;--muted:#6b7686;--line:#e3e7ee;--accent:#1f6f5c;--accent-ink:#fff;--bad:#b3261e;--warn:#9a6700}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.top{display:flex;gap:2rem;align-items:center;background:#173f36;padding:.7rem 1.5rem;flex-wrap:wrap}
.brand{color:#fff;font-weight:700;font-size:1.2rem;letter-spacing:.02em}
.top nav{display:flex;gap:1.1rem;flex-wrap:wrap}.top nav a{color:#cfe5de}.top nav a:hover{color:#fff}
main{max-width:1180px;margin:1.5rem auto;padding:0 1rem}
h1{font-size:1.5rem;margin:.2rem 0 1rem}h1 small{color:var(--muted);font-weight:400;font-size:1rem}
h2{font-size:1.05rem;margin:0 0 .6rem}h3{font-size:.95rem;margin:1.2rem 0 .4rem}
.head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem;margin:0 0 1rem}
table.card{padding:.4rem .8rem}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem}
.cols>.card{margin:0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem}
.stat span{display:block;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.stat b{font-size:1.5rem}.stat em{display:block;color:var(--muted);font-style:normal;font-size:.8rem}
.stat.bad b{color:var(--bad)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr.overdue td{background:#fdf1f0}tr.total td{font-weight:700;border-top:2px solid var(--ink)}
.muted{color:var(--muted)}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);border:0;border-radius:7px;padding:.45rem .9rem;font:inherit;cursor:pointer}
.btn:hover{text-decoration:none;filter:brightness(1.1)}
.btn.secondary{background:#fff;color:var(--accent);border:1px solid var(--accent)}
.flash{background:#e4f3ee;border:1px solid #b7dccf;border-radius:8px;padding:.5rem .9rem;margin-bottom:1rem}
.tag{display:inline-block;background:#eef1f5;border-radius:5px;padding:0 .4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}
.tag.open{background:#fde8e6}.tag.progress{background:#fff3d6}.tag.done{background:#e1f3e6}
.rem.urgent{color:var(--bad)}.rem{margin:.3rem 0}
.chip{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.1rem .7rem;margin:.15rem 0}
.form{max-width:640px}.form>div,.row2{margin-bottom:.8rem}
.form label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.15rem}
input,select,textarea{font:inherit;padding:.4rem .5rem;border:1px solid #c5ccd8;border-radius:6px;width:100%;background:#fff}
input[type=checkbox]{width:auto}
.inline{display:flex;gap:.6rem;align-items:center;margin:.6rem 0;flex-wrap:wrap}.inline select,.inline input{width:auto}
.row2{display:grid;grid-template-columns:2fr 1fr;gap:.6rem}
.errorlist{color:var(--bad);list-style:none;padding:0;margin:.2rem 0}
.helptext{display:block;color:var(--muted);font-size:.8rem}
table.aging td{font-size:1.05rem}
table.kv td:first-child{width:75%}
@media print{.top,.noprint,.flash{display:none!important}body{background:#fff}main{max-width:none;margin:0}.card{border:0;padding:0}}
@media(max-width:640px){.top{gap:.8rem}main{padding:0 .75rem}table{font-size:.85rem}}
