:root,:root[data-theme=paper]{--paper: #f6f3ec;--paper-raised: #efeae0;--rule: #d8d0c3;--ink: #1c1b19;--ink-soft: #5c5852;--copper: #7a5c3e;--copper-hover: #5e4530}:root[data-theme=night]{--paper: #1c1b19;--paper-raised: #262422;--rule: #4a433a;--ink: #f6f3ec;--ink-soft: #c4bdb0;--copper: #c4a07a;--copper-hover: #ddbf9a}:root{--serif: "Gentium Plus", "Times New Roman", Palatino, Georgia, serif;--space-1: .45rem;--space-2: .65rem;--space-3: .85rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 1.75rem;--space-7: 2.2rem;--space-8: 3rem;--touch: 2.75rem;--measure-text: 38rem;--measure-page: 68rem}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.05rem/1.7 var(--serif)}h1,h2,h3{font-weight:400;margin:0}h1{font-size:clamp(2rem,4.5vw,2.8rem);line-height:1.15;letter-spacing:-.015em}h2{font-size:1.5rem;line-height:1.3}h3{font-size:1.15rem}a{color:var(--copper);text-underline-offset:.18em}a:hover{color:var(--copper-hover)}:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.2em;color:var(--copper)}.small{font-size:.88rem;color:var(--ink-soft)}.soft{color:var(--ink-soft)}.aside{font-style:italic;color:var(--copper)}.num{font-variant-numeric:lining-nums tabular-nums}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{width:min(100% - 2rem,var(--measure-page));margin-inline:auto}header.bar{border-bottom:1px solid var(--rule)}header.bar .page{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding-block:var(--space-4)}.brand{margin-right:auto;display:block;line-height:0}.brand img{display:block;height:3.25rem;width:auto;max-width:100%}.login-logo{display:block;width:min(16rem,80%);height:auto;margin:0 0 var(--space-5) -.3rem}nav.tabs{display:flex;flex-wrap:wrap;gap:var(--space-1)}.tools{display:flex;gap:var(--space-1);align-items:center}main{padding-block:var(--space-5) var(--space-8)}.banner{border:1px solid var(--rule);background:var(--paper-raised);padding:var(--space-2) var(--space-4);margin-block:var(--space-4) 0}.error{border:1px solid var(--copper);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4);color:var(--ink)}.btn,.tab,.seg button,select,input,textarea{font:inherit;color:var(--ink)}.btn,.tab{min-height:var(--touch);padding:0 1.1rem;border-radius:999px;cursor:pointer;border:1px solid var(--rule);background:var(--paper-raised);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;line-height:1.2;display:inline-flex;align-items:center;text-decoration:none}.btn:hover,.tab:hover{border-color:var(--copper);color:var(--copper-hover)}.btn.primary,.tab[aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.primary:hover{background:var(--copper-hover);border-color:var(--copper-hover);color:var(--paper)}.btn.danger{color:var(--copper)}.seg{display:inline-flex;border:1px solid var(--rule);border-radius:999px;overflow:hidden}.seg button{min-height:var(--touch);padding:0 .9rem;border:0;background:transparent;cursor:pointer;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.seg button{border-radius:999px}.seg button:focus-visible{outline-offset:-4px}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}label{display:block;font-size:.88rem;color:var(--ink-soft)}input,select,textarea{display:block;width:100%;min-height:var(--touch);margin-top:.25rem;padding:.4rem .8rem;background:var(--paper);border:1px solid var(--rule);border-radius:0;color:var(--ink)}textarea{min-height:6rem;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--copper)}.grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.span{grid-column:1 / -1}.row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.form{border:1px solid var(--rule);background:var(--paper-raised);padding:var(--space-5);margin-block:var(--space-5)}.form .row{margin-top:var(--space-5)}.totals{display:flex;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-4)}.totals strong{font-weight:700}.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-5)}.stats{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin-bottom:var(--space-7)}.stat{border-top:1px solid var(--rule);padding-top:var(--space-2)}.stat .v{font-size:1.8rem;line-height:1.2}section+section{margin-top:var(--space-7)}section>h2{margin-bottom:var(--space-3)}.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.list li{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:baseline;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--rule)}.list .main{flex:1 1 14rem}.pill{display:inline-block;border:1px solid var(--rule);border-radius:999px;padding:0 .7rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap}.late{color:var(--copper)}table{width:100%;border-collapse:collapse}th{font-weight:400;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);text-align:left}th,td{padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--rule);vertical-align:baseline}td.r,th.r{text-align:right;padding-right:0}.table-wrap{overflow-x:auto}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(15rem,1fr);gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-4)}.col{min-height:12rem;border-top:1px solid var(--rule);padding-top:var(--space-2)}.col.over{border-top-color:var(--copper)}.col h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.2em;color:var(--copper);margin-bottom:var(--space-2);display:flex;justify-content:space-between}.card{background:var(--paper-raised);border:1px solid var(--rule);padding:var(--space-3);margin-bottom:var(--space-2);cursor:grab}.card .t{font-size:1.05rem;line-height:1.35}.card select{font-size:.88rem;min-height:2.2rem;padding-block:.1rem;margin-top:var(--space-2)}.card .meta{font-size:.88rem;color:var(--ink-soft)}.login{width:min(100% - 2rem,24rem);margin:var(--space-8) auto}@media (max-width: 640px){body{font-size:1rem}}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.cal-h{padding:var(--space-1);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.cal-d{min-height:5.6rem;padding:.3rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:2px;overflow:hidden}.cal-d.out{background:var(--paper-raised);color:var(--ink-soft)}.cal-d.today .cal-n{background:var(--ink);color:var(--paper);border-radius:999px;padding:0 .45rem;align-self:flex-start}.cal-n{font-size:.88rem;line-height:1.5}.cal-e{font-size:.72rem;line-height:1.3;padding:0 .3rem;border:1px solid var(--rule);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-e.deadline{border-color:var(--copper)}.cal-e.meeting{font-style:italic}.cal-e.invoice{border-style:dashed}@media (max-width: 640px){.cal-d{min-height:3.4rem}.cal-e,.cal-more{display:none}.cal-d:has(.cal-e) .cal-n{text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:.2em}}th.r+th,td.r+td{padding-left:var(--space-4)}
