:root{--paper:#faf8f4;--surface:#fff;--ink:#1d1b18;--muted:#6b655c;--rule:#e4dfd6;--accent:#1f5c4a;--accent-ink:#fff;--warn-bg:#fbf0d9;--warn-ink:#7a4b00;--bad-bg:#f8e1de;--bad-ink:#8a1f12;--ok-bg:#e2efe8;--ok-ink:#1f5c4a;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans);margin:0}h1,h2{font-family:var(--serif);letter-spacing:-.01em;font-weight:600}h1{margin:.2rem 0 .25rem;font-size:1.9rem}h2{margin:1.6rem 0 .6rem;font-size:1.15rem}.card h2{margin-top:0}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 4rem}.muted{color:var(--muted)}.small{font-size:.85rem}.mono{font-family:var(--mono);word-break:break-all}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.big{font-size:1.6rem;font-family:var(--serif);margin:.2rem 0}.error{color:var(--bad-ink)}.empty{border:1px dashed var(--rule);color:var(--muted);border-radius:6px;padding:1.5rem}.crumbs{margin:0;font-size:.9rem}.topbar{border-bottom:1px solid var(--rule);background:var(--surface);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.topbar .brand{font-family:var(--serif);color:var(--ink);font-size:1.2rem;font-weight:600;text-decoration:none}.topbar .firm{flex:1}.topbar nav{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;display:flex}@media (width<=640px){.topbar nav{width:100%}}input,select{font:inherit;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:4px;width:100%;padding:.5rem .6rem}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:4px;padding:.5rem 1rem}button:disabled{opacity:.6;cursor:progress}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}button.link.danger{color:var(--bad-ink)}button.link.close{margin-left:1rem}label{gap:.3rem;font-size:.9rem;display:grid}.stack{gap:.9rem;display:grid}.inline{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.inline label{flex:1;min-width:220px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.card{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.2rem}.card.highlight{border-color:var(--accent);margin:1rem 0}.card pre{background:var(--paper);white-space:pre-wrap;border-radius:4px;padding:.75rem;overflow-x:auto}.two-col{grid-template-columns:1fr 340px;align-items:start;gap:1.5rem;margin-top:1rem;display:grid}.summary{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}@media (width<=1000px){.summary{grid-template-columns:repeat(2,1fr)}}table{border-collapse:collapse;background:var(--surface);width:100%;margin-top:.5rem}th,td{border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;padding:.5rem .6rem}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem;font-weight:600}tr.strong td{font-weight:600}.scroll{overflow-x:auto}.tag{background:var(--rule);border-radius:3px;margin-right:.25rem;padding:.05rem .45rem;font-size:.78rem;display:inline-block}.tag.warn{background:var(--warn-bg);color:var(--warn-ink)}.tag.bad{background:var(--bad-bg);color:var(--bad-ink)}.tag.ok{background:var(--ok-bg);color:var(--ok-ink)}.drop{border:2px dashed var(--rule);background:var(--surface);border-radius:6px;margin:1.2rem 0;padding:1.2rem}.drop.dragging{border-color:var(--accent);background:var(--ok-bg)}.drop p{margin:.2rem 0}.results{background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:.75rem 1rem}.results ul{margin:.4rem 0 0;padding-left:1rem}.results .r-error .tag{background:var(--warn-bg);color:var(--warn-ink)}.alerts{background:var(--warn-bg);color:var(--warn-ink);border-radius:6px;margin:1rem 0;padding:.5rem 1rem}.alerts h2{margin-top:.4rem}.period-bar{align-items:center;gap:1rem;margin:1.5rem 0 1rem;display:flex}.period-bar label{align-items:center;gap:.5rem;display:flex}.seg{border:1px solid var(--accent);border-radius:4px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);color:var(--accent);border:none;border-radius:0;padding:.35rem .8rem}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.login{max-width:420px;margin:0 auto;padding:10vh 1rem 2rem}.login-brand{font-family:var(--serif);letter-spacing:-.01em;justify-content:center;align-items:center;gap:.6rem;margin:0 0 1.75rem;font-size:1.6rem;font-weight:600;display:flex}.login-mark{background:var(--accent);width:2.1rem;height:2.1rem;color:var(--accent-ink);border-radius:8px;place-items:center;font-size:1.2rem;display:inline-grid}.login-card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:2rem;box-shadow:0 1px 2px #1d1b180a,0 8px 24px #1d1b180f}.login-card h1{margin:0 0 1.25rem;font-size:1.5rem}.login-card input{padding:.65rem .75rem}.login-card button[type=submit]{width:100%;margin-top:.35rem;padding:.7rem 1rem;font-weight:600}.login-expired{background:var(--warn-bg);color:var(--warn-ink);border-radius:6px;margin:0 0 1rem;padding:.6rem .75rem}.login-pitch{text-align:center;color:var(--muted);max-width:22rem;margin:1.5rem auto 0;font-size:.9rem}@media (width<=480px){.login{padding-top:6vh}.login-card{padding:1.5rem 1.25rem}}@media (width<=760px){.two-col,.summary{grid-template-columns:1fr}h1{font-size:1.5rem}}.block{display:block}.inbox{margin:1.5rem 0}.inbox .address code{background:var(--surface);border:1px solid var(--rule);word-break:break-all;border-radius:4px;padding:.2rem .4rem;font-size:1rem}.inbox-head{align-items:baseline;gap:1rem;display:flex}.inbox-head h3{margin-bottom:.4rem}.mails{margin:0;padding:0;list-style:none}.mails>li{border-top:1px solid var(--rule);padding:.4rem 0}.mails summary{cursor:pointer;overflow-wrap:anywhere}.notice{color:var(--ok-ink)}.narrow{max-width:36rem}.consent fieldset{border:none;gap:.75rem;margin:0 0 1rem;padding:0;display:grid}.consent legend{margin-bottom:.5rem;font-weight:600}.choice{cursor:pointer;align-items:flex-start;gap:.6rem;display:flex}.choice input{flex:none;width:auto;margin-top:.3rem}.consent .actions{align-items:center;gap:1rem;display:flex}details.card>summary{cursor:pointer;font-weight:600}details.card{margin:1rem 0}.warn-box{background:var(--warn-bg);color:var(--warn-ink);border-color:#0000}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.show-sm{display:none}@media (width<=640px){.hide-sm{display:none}.show-sm{display:block}}.period-bar{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.period-bar>button.link{padding:0 .3rem;font-size:1.4rem;text-decoration:none}.period-bar label{display:block}.period-links button.link{margin-right:.6rem}.topbar nav a.active{border-bottom:2px solid var(--accent);font-weight:600;text-decoration:none}.pending{gap:.75rem;padding:0;list-style:none;display:grid}.pending .card p{margin:.2rem 0}.parties{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;margin:.5rem 0;display:grid}.empty p{margin:.3rem 0}.danger-zone{border-top:1px solid var(--rule);margin-top:1rem;padding-top:.75rem}button.danger:not(.link){background:var(--bad-ink);border-color:var(--bad-ink)}.audit{padding:0;list-style:none}.audit li{border-top:1px solid var(--rule);padding:.5rem 0}.month-picker{position:relative}.month-trigger{background:var(--surface);min-width:11rem;color:var(--ink);border:1px solid var(--rule);border-radius:6px;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem .8rem;font-weight:600;display:inline-flex}.month-trigger:hover{border-color:var(--accent)}.month-caret{color:var(--muted);font-size:.8rem}.month-pop{z-index:20;background:var(--surface);border:1px solid var(--rule);border-radius:10px;width:17.5rem;padding:.9rem;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 8px 24px #1d1b181f}.month-year{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.month-year button.link{padding:0 .5rem;font-size:1.3rem;text-decoration:none}.month-grid{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.month-grid button{color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;padding:.5rem 0;font-size:.9rem;position:relative}.month-grid button:hover{background:var(--paper);border-color:var(--rule)}.month-grid button.today{border-color:var(--rule)}.month-grid button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.month-count{background:var(--ok-bg);min-width:1.15rem;color:var(--ok-ink);border-radius:999px;padding:0 .25rem;font-size:.68rem;line-height:1.15rem;position:absolute;top:-.35rem;right:-.2rem}.month-grid button[aria-pressed=true] .month-count{background:var(--surface)}.month-now{margin:.7rem auto 0;font-size:.85rem;display:block}.page-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.page-head h1{align-items:baseline;gap:.6rem;margin:.2rem 0;display:flex}.page-head .count{font-family:var(--sans);color:var(--muted);font-size:.95rem;font-weight:500}.banner{border-radius:6px;margin:0 0 1rem;padding:.65rem .9rem}.banner a{color:inherit;font-weight:600}.new-client{gap:.9rem;margin-bottom:1.25rem;display:grid}.new-client-head{justify-content:space-between;align-items:baseline;display:flex}.new-client-head h2{margin:0}.new-client-fields{grid-template-columns:12rem 14rem 1fr;align-items:start;gap:.9rem;display:grid}.new-client button[type=submit]{justify-self:start}.client-search{margin-bottom:.5rem}table.clients td{vertical-align:top;padding-top:.65rem;padding-bottom:.65rem}.client-name{font-weight:600;text-decoration:none}.client-name:hover{text-decoration:underline}.review-link{margin-left:.5rem;text-decoration:none}@media (width<=760px){.new-client-fields{grid-template-columns:1fr}}.lead{max-width:44rem;margin:.5rem 0;font-size:1.05rem}.facts{margin:.5rem 0 1rem;padding-left:1.2rem}.facts li,.card ol li{margin:.2rem 0}.card h3{margin:1rem 0 .25rem;font-size:.95rem}
