/* Deliberately small and shared: these pages exist to be readable everywhere,
   including on a slow connection and in a text browser. */
:root { --ink:#1a2733; --muted:#5c6b7a; --line:#dde4e9; --accent:#0a4d8c;
        --bg:#f6f8f9; --card:#fff; }
* { box-sizing:border-box; }
body { font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
       margin:0; color:var(--ink); background:var(--bg); }
header.site { background:var(--accent); color:#fff; padding:1rem 1.2rem; }
header.site a { color:#cfe3f5; }
main { max-width:52rem; margin:1.5rem auto 4rem; padding:0 1rem; }
h1 { font-size:1.5rem; line-height:1.25; margin:0 0 .3rem; }
h2.section { font-size:1rem; text-transform:uppercase; letter-spacing:.03em;
       color:var(--accent); border-bottom:2px solid var(--accent);
       padding-bottom:.2rem; margin:2rem 0 .6rem; }
.meta { color:var(--muted); font-size:.9rem; margin:0 0 1rem; }
.item { background:var(--card); border:1px solid var(--line); border-radius:6px;
        padding:.7rem .9rem; margin:.5rem 0; }
.num { font-weight:700; color:var(--accent); margin-right:.4rem; }
.pill { display:inline-block; font-size:.75rem; border-radius:4px;
        padding:.1rem .45rem; margin-left:.4rem; background:#eef1f4;
        color:var(--muted); }
.pill.pass { background:#e3f4e8; color:#116632; }
.pill.fail { background:#fbe7e5; color:#a02219; }
.pill.defer { background:#fdf3dc; color:#8a6410; }
.votes { margin:.4rem 0 0; font-size:.9rem; }
.vote { display:inline-block; margin-right:.6rem; }
.vote.nay { color:#a02219; font-weight:600; }
.atts a { display:inline-block; margin:.2rem .8rem .2rem 0; }
details.memo { margin:.5rem 0 0; }
details.memo summary { cursor:pointer; color:var(--accent); font-size:.9rem;
        font-weight:600; }
details.memo > div { font-size:.9rem; background:var(--card);
        border:1px solid var(--line); border-radius:5px; padding:.6rem .9rem;
        margin-top:.4rem; max-width:66ch; }
details.memo h4 { margin:.8rem 0 .2rem; font-size:.85rem; text-transform:uppercase;
        letter-spacing:.04em; color:var(--accent); }
details.memo h4:first-child { margin-top:0; }
.memo-body { white-space:pre-line; }
.memo-meta { color:var(--muted); font-size:.85rem; margin:.5rem 0 0; }
table.memo-budget { border-collapse:collapse; margin:.7rem 0 0; font-size:.88rem; }
table.memo-budget caption { text-align:left; font-weight:700; font-size:.8rem;
        text-transform:uppercase; letter-spacing:.04em; color:var(--accent);
        padding-bottom:.2rem; }
table.memo-budget th { text-align:left; font-weight:500; color:var(--muted);
        padding:.15rem .9rem .15rem 0; }
table.memo-budget td { font-variant-numeric:tabular-nums; font-weight:650; }
.official, .notes { font-size:.9rem; color:#4a4632; background:#fbfaf5;
        border:1px solid #eee6cc; border-radius:5px; padding:.5rem .7rem;
        margin:.5rem 0 0; white-space:pre-line; }
.app-link { display:block; background:var(--card); border:1px solid var(--line);
        border-left:4px solid var(--accent); border-radius:6px;
        padding:.7rem .9rem; margin:1rem 0; }
ul.meetings { list-style:none; padding:0; }
ul.meetings li { background:var(--card); border:1px solid var(--line);
        border-radius:6px; padding:.6rem .9rem; margin:.35rem 0; }
footer { color:var(--muted); font-size:.85rem; border-top:1px solid var(--line);
        margin-top:2.5rem; padding-top:1rem; }
