@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/anton-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/anton-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/hanken-grotesk-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/hanken-grotesk-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/hanken-grotesk-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/hanken-grotesk-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/hanken-grotesk-latin-ext-800-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/hanken-grotesk-latin-800-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#1b1b1b;--accent:#00f;--paper:#f9f9f9;--line:#d9d9d9;--muted:#555}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font:400 16px/1.5 Hanken Grotesk,system-ui,sans-serif}a{color:var(--accent)}.wordmark{letter-spacing:-.02em;font-weight:800}.wordmark b{color:var(--accent)}.page{max-width:420px;margin:15vh auto 0;padding:0 16px}h1,h2,h3{line-height:1.2}h1{letter-spacing:.01em;font:400 32px/1.15 Anton,Hanken Grotesk,sans-serif}h2{margin-top:32px;font-size:20px}h3{font-size:16px}.muted,.loading{color:var(--muted)}.loading{padding:16px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}label{flex-direction:column;gap:4px;font-size:14px;font-weight:500;display:flex}input,select,textarea,button{font:inherit;font-size:16px}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #8a8a8a;border-radius:6px;padding:10px 12px}button{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:10px 16px}button.primary{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700}button.link{color:var(--accent);background:0 0;border:0;padding:4px 0;text-decoration:underline}button:disabled{opacity:.6;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notice{border-left:4px solid var(--accent);background:#fff;padding:10px 12px}.login form,.stack{flex-direction:column;gap:16px;max-width:480px;display:flex}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.inline-form label{flex:240px}.shell-head{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:12px 16px;display:flex}.brand{color:var(--ink);font-size:22px;text-decoration:none}.shell-head nav{flex-basis:100%;order:3;gap:4px;display:flex;overflow-x:auto}.shell-head nav a{color:var(--ink);white-space:nowrap;border-radius:6px;padding:6px 10px;font-weight:500;text-decoration:none}.shell-head nav a.active{background:var(--ink);color:#fff}.shell-user{align-items:center;gap:12px;margin-left:auto;display:flex}.shell-user select{max-width:200px;padding:6px 8px;font-size:14px}.banner{background:var(--accent);color:#fff;margin:0;padding:8px 16px;font-size:14px}.content{max-width:960px;margin:0 auto;padding:16px 16px 48px}@media (width>=768px){.shell-head nav{flex-basis:auto;order:0}}.list{border-collapse:collapse;background:#fff;width:100%}.list th,.list td{border-bottom:1px solid var(--line);text-align:left;padding:10px 12px}.list th{color:var(--muted);font-size:13px}@media (width<=600px){.list thead{display:none}.list tr{border-bottom:1px solid var(--line);padding:8px 0;display:block}.list td{border:0;padding:2px 12px;display:block}.list td[data-label]:before{content:attr(data-label) ": ";color:var(--muted)}}.users{background:#fff;padding:0;list-style:none}.users li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.users li>span{overflow-wrap:anywhere;min-width:0}.users button{flex-shrink:0}label.check{flex-direction:row;align-items:center;gap:8px}label.check input{width:auto}.field-row{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:12px;margin:0;padding:12px;display:grid}.row-actions{align-items:center;gap:8px;display:flex}.row-actions button:not(.link){padding:6px 12px}.users details{flex:1;min-width:0}.users summary{cursor:pointer;padding:4px 0}.users details[open] summary{margin-bottom:12px}fieldset{border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:8px;margin:0;padding:12px;display:flex}.users .row-actions select{width:auto}.small{font-size:13px}.count{background:var(--line);text-align:center;border-radius:10px;min-width:24px;padding:0 6px;font:600 13px/20px Hanken Grotesk,sans-serif;display:inline-block}.tag{border:1px solid var(--accent);color:var(--accent);border-radius:4px;margin-left:6px;padding:0 6px;font-size:12px}.page-head,.filters{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.filters{justify-content:flex-start;margin-bottom:16px}.filters label{flex:0 220px}.toggle{border:0;flex-direction:row;gap:0;padding:0}.toggle button{border-radius:0;padding:6px 14px}.toggle button:first-child{border-radius:6px 0 0 6px}.toggle button:last-child{border-left:0;border-radius:0 6px 6px 0}.toggle button[aria-pressed=true]{background:var(--ink);color:#fff}.new-contact{margin-bottom:16px}.new-contact>.toggle-summary{color:var(--accent);cursor:pointer;padding:4px 0}.content:has(.board){max-width:none}.board{scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px;display:flex;overflow-x:auto}.lane{scroll-snap-align:start;background:#eee;border-radius:8px;flex:0 0 min(280px,85vw);min-height:200px;padding:8px}.lane.over{outline:2px dashed var(--accent)}.lane h2{margin:4px 4px 12px;font-size:15px}.cards{margin:0;padding:0;list-style:none}.kcard{border:1px solid var(--line);cursor:grab;touch-action:manipulation;background:#fff;border-radius:6px;margin-bottom:8px;padding:10px}.kcard.dragging{z-index:10;cursor:grabbing;position:relative;box-shadow:0 4px 12px #0003}.kcard-name{font-weight:700}.kcard p{margin:4px 0}.kcard-stage{padding:4px 8px;font-size:14px}.search{max-width:420px;margin-bottom:12px}button.more{margin-top:12px}.tasks,.notes,.timeline{background:#fff;padding:0;list-style:none}.tasks li,.notes li,.timeline li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 12px;display:flex}.tasks li.done label{color:var(--muted);text-decoration:line-through}.notes li{flex-direction:column}.notes p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.answers{background:#fff;margin:0}.answers div{border-bottom:1px solid var(--line);padding:8px 12px}.answers dt{color:var(--muted);font-size:13px}.answers dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.tile{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;padding:12px 16px;display:flex}.tile>span{color:var(--muted);font-size:13px}.tile b{font-size:28px;line-height:1.2}.weeks{border-bottom:1px solid var(--muted);align-items:flex-end;gap:2px;height:160px;padding:8px 0 0;display:flex}.week{flex:1;align-items:flex-end;height:100%;display:flex}.week span{background:var(--accent);border-radius:4px 4px 0 0;width:100%}.week:hover span{background:var(--ink)}.weeks-axis{justify-content:space-between;margin:4px 0 8px;display:flex}.bars{padding:0;list-style:none}.bars li{grid-template-columns:110px 1fr 40px;align-items:center;gap:8px;padding:4px 0;display:grid}.bars b{text-align:right}.bar{height:12px}.bar span{background:var(--accent);border-radius:0 4px 4px 0;height:100%;display:block}
