:root{--fg:#1a1a1a;--muted:#666;--border:#d4d4d4;--bg:#fff;--surface:#fff;--accent:#1f6feb;--danger:#c0392b}@media (prefers-color-scheme:dark){:root{--fg:#e8e8e8;--muted:#9a9a9a;--border:#3a3a3a;--bg:#141414;--surface:#1c1c1c;--accent:#4a9eff;--danger:#e06c5a}}*{box-sizing:border-box}body{color:var(--fg);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5}header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}header nav{align-items:center;gap:1rem;display:flex}main{max-width:60rem;margin:0 auto;padding:1.5rem 1rem}main.centered{justify-content:center;align-items:center;display:flex}h1{margin:0 0 1rem;font-size:1.4rem}.card{border:1px solid var(--border);background:var(--surface);border-radius:.6rem;flex-direction:column;width:100%;max-width:22rem;padding:1.5rem;display:flex}label{color:var(--muted);margin-bottom:.3rem;font-size:.9rem}input{color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:.4rem;margin-bottom:1rem;padding:.7rem;font-size:1rem}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:.4rem;padding:.7rem 1rem;font-family:inherit;font-size:1rem}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--muted);border:1px solid var(--border);background:0 0;margin-top:.5rem}button.link,header a{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;text-decoration:none}button.link:hover,header a:hover{color:var(--fg)}.error{color:var(--danger);margin:0 0 1rem;font-size:.9rem}.note{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.logo{width:100%;max-width:15rem;height:auto;margin:0 auto 1.5rem}.logo-bar{width:auto;height:1.7rem}@media (prefers-color-scheme:dark){.logo,.logo-bar{filter:brightness(1.9)saturate(1.2)}}select,textarea{color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:.4rem;margin-bottom:1rem;padding:.7rem;font-family:inherit;font-size:1rem}textarea{resize:vertical;max-width:100%}.stack{flex-direction:column;display:flex}.row{align-items:center;gap:.6rem;display:flex}.row.between{justify-content:space-between}.row input{flex:1;min-width:0}.row>input,.row>select,.row>button,.row>form>input,.row>form>select,.row>form>button{margin-top:0;margin-bottom:0}.check{color:var(--fg);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1rem;display:flex}.check input{width:auto;margin:0}.ok{color:#2e7d32;margin:0 0 1rem;font-size:.9rem}.month{color:var(--muted);text-align:center;min-width:8rem;font-size:.9rem}.entry{border-top:1px solid var(--border);padding:.8rem 0}.entry p{margin:.4rem 0}.badge{border:1px solid var(--border);color:var(--muted);border-radius:1rem;padding:.15rem .5rem;font-size:.75rem}.badge.open{color:var(--accent);border-color:var(--accent)}.link.danger{color:var(--danger)}.columns{gap:2rem;display:grid}@media (width>=56rem){.columns{grid-template-columns:22rem 1fr;align-items:start;max-width:72rem}}.tabs{border-bottom:1px solid var(--border);gap:.5rem;padding:0 1rem;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:.7rem .2rem}.tab.active{color:var(--fg);border-bottom-color:var(--accent)}.row.wrap{flex-wrap:wrap}.field{flex-direction:column;flex:1;min-width:11rem;display:flex}.field select,.field input{margin-bottom:0}.original{border-left:2px solid var(--border);color:var(--muted);margin:.4rem 0;padding-left:.7rem}.button-link{color:#fff;background:var(--accent);border-radius:.4rem;padding:.5rem .9rem;font-size:.9rem;text-decoration:none;display:inline-block}section h2{margin:1.5rem 0 .5rem;font-size:1.1rem}.cards{gap:1rem}.card-stat{border:1px solid var(--border);border-radius:.5rem;flex-direction:column;flex:1;min-width:9rem;padding:.9rem;display:flex}.card-stat strong{font-size:1.6rem}.card-stat.overdue strong{color:var(--danger)}.badge.danger{color:var(--danger);border-color:var(--danger)}.detail{border-top:1px dashed var(--border);margin-top:.8rem;padding-top:.8rem}.lines{border-collapse:collapse;width:100%;margin-bottom:.8rem;font-size:.9rem}.lines td{border-bottom:1px solid var(--border);padding:.3rem 0}.lines td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:.8rem}.lines tr.total td{font-weight:600}.badge.inline{margin-left:.5rem}section h3{margin:1rem 0 .3rem;font-size:.95rem}.entry.excluded{opacity:.75}.entry.excluded .original{text-decoration:line-through}.portal-header{box-shadow:0 1px 0 var(--border);border-top:4px solid #0000;border-bottom:none;border-image:linear-gradient(90deg,#3f2b96 0%,#a63a8f 100%) 1}.message{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;margin-bottom:.6rem;padding:.6rem .8rem}.message.ours{border-left:3px solid var(--accent)}.message p{margin:.3rem 0 0}.bar{background:var(--border);border-radius:1rem;height:.5rem;margin-top:.5rem;overflow:hidden}.bar-fill{background:linear-gradient(90deg,#3f2b96 0%,#a63a8f 100%);height:100%}.reply textarea{width:100%;margin-bottom:.7rem}.reply button,.attach button{align-self:flex-end;padding:.5rem 1.4rem;font-size:.9rem}.attach{border-top:1px dashed var(--border);margin-top:1.2rem;padding-top:1rem}.attach input[type=file]{margin-bottom:.9rem;padding:.5rem;font-size:.9rem}html{background:var(--bg)}body{background:0 0}#root{flex-direction:column;min-height:100dvh;display:flex}body:before{content:"";z-index:-1;pointer-events:none;background:url(/static/brand/watermark.png) 50% 48%/min(72vw,34rem) no-repeat;position:fixed;inset:0}@media (prefers-color-scheme:dark){body:before{opacity:.06}}main{flex:1}.site-footer{border-top:3px solid #0000;border-image:linear-gradient(90deg,#3f2b96 0%,#a63a8f 100%) 1;margin-top:2.5rem}.footer-inner{max-width:60rem;color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.6rem 1.8rem;margin:0 auto;padding:1rem;font-size:.8rem;display:flex}.footer-inner a{color:inherit;text-decoration:none}.footer-inner a:hover{color:var(--fg)}.dictate{color:var(--muted);border:1px solid var(--border);background:0 0;align-self:flex-start;margin:-.4rem 0 1rem;padding:.35rem .8rem;font-size:.85rem}.dictate:hover{color:var(--fg)}.dictate.listening{color:#fff;background:var(--danger);border-color:var(--danger)}.progress{border:1px solid var(--border);border-radius:.5rem;margin-bottom:1rem;padding:.8rem}.progress.pending{border-color:var(--accent)}.progress .bar{margin:.5rem 0 .4rem}.lines th{text-align:left;border-bottom:1px solid var(--border);padding:.3rem 0;font-size:.85rem;font-weight:600}.lines th.num{text-align:right;white-space:nowrap;padding-left:.8rem}.results tr.group td{padding-top:.6rem}.results td.indent{padding-left:1.2rem}.results tfoot td{border-top:2px solid var(--border);border-bottom:none;font-weight:600}.results td.negative{color:var(--danger,#b00020)}.columns>*{min-width:0}.columns select{max-width:100%}.search-select{position:relative}.search-select input{width:100%}.search-options{z-index:20;background:var(--bg,#fff);border:1px solid var(--border);border-radius:.4rem;max-height:15rem;margin:.2rem 0 0;padding:0;list-style:none;position:absolute;left:0;right:0;overflow-y:auto;box-shadow:0 6px 16px #0000001f}.search-options li{cursor:pointer;padding:.45rem .6rem}.search-options li.active{background:color-mix(in srgb, var(--accent,#3f2b96) 12%, transparent)}.search-options li.empty{cursor:default}.lines tr.behind td{background:color-mix(in srgb, var(--danger,#b00020) 6%, transparent)}.lines tr.behind td:first-child{box-shadow:inset 2px 0 0 var(--danger,#b00020);padding-left:.5rem}
