:root{--bg:#fff;--surface:#fff;--surface-2:#f5f5f7;--ink:#111113;--ink-mute:#6e6e73;--ink-faint:#9a9a9e;--line:#e5e5ea;--done-ink:#b7b7bc;--shadow:0 1px 2px rgba(0,0,0,.04),0 10px 22px -14px rgba(0,0,0,.14);--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif}.full-page{min-height:100vh}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.45;overflow-wrap:anywhere;overflow-x:hidden}a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:2.75rem 1.75rem 4.5rem}.top-nav{display:flex;gap:1.4rem;margin-bottom:1.75rem}.top-nav-link{font-size:.85rem;font-weight:600;color:var(--ink-faint);text-decoration:none;padding-bottom:.35rem;border-bottom:2px solid transparent}.top-nav-link:hover{color:var(--ink-mute)}.top-nav-link.active{color:var(--ink);border-bottom-color:var(--ink)}header.app-header{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;padding-bottom:1.75rem;border-bottom:1px solid var(--line);margin-bottom:2rem}.eyebrow{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .5rem;font-weight:600}h1{font-weight:800;font-size:clamp(2.1rem,4vw,2.7rem);letter-spacing:-.02em;margin:0;color:var(--ink)}.sync-block{text-align:right;font-size:.82rem;color:var(--ink-faint);display:flex;flex-direction:column;gap:.3rem}.sync-block form{display:inline}.refresh-btn{font:inherit;font-size:.78rem;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.3rem .8rem;cursor:pointer}.refresh-btn:hover{border-color:var(--ink)}.refresh-btn:disabled{opacity:.5;cursor:default}.section-title{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .9rem;display:flex;align-items:baseline;gap:.6rem;font-weight:700}.section-title .count{color:var(--ink-mute);font-weight:600;letter-spacing:0;text-transform:none}.section-help{font-size:.85rem;color:var(--ink-mute);margin:-.6rem 0 1rem;max-width:54ch}.rail{display:flex;gap:.85rem;overflow-x:auto;padding-bottom:.6rem;margin-bottom:2.6rem;scrollbar-width:thin}.rail-day{flex:0 0 auto;min-width:158px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:.95rem 1.05rem;box-shadow:var(--shadow)}.rail-day .date{font-size:.72rem;letter-spacing:.02em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:.6rem;font-weight:700}.rail-evt{display:flex;gap:.55rem;font-size:.82rem;padding:.24rem 0;color:var(--ink-mute)}.rail-evt time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);flex:0 0 auto;font-size:.8rem;font-weight:600}.rail-evt .src{font-size:.68rem;color:var(--ink-faint);margin-left:auto;flex:0 0 auto}.rail-empty{color:var(--ink-faint);font-size:.85rem;padding:.5rem 0}.review-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.6rem;margin:0 0 2.8rem}.review-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:.9rem 1.05rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}.rv-main{flex:1 1 280px;min-width:0}.rv-meta{font-size:.72rem;color:var(--ink-faint);margin:0 0 .3rem}.rv-title{font-weight:700;font-size:.96rem;margin:0 0 .24rem}.rv-context{font-size:.83rem;color:var(--ink-mute);margin:0}.rv-actions{display:flex;gap:.4rem;flex-wrap:wrap;flex:0 0 auto;align-items:center}.rv-btn{font-family:var(--font);font-size:.74rem;font-weight:600;padding:.42rem .8rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-mute);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}.rv-btn:hover{border-color:var(--ink);color:var(--ink)}.rv-btn svg{width:9px;height:9px;flex:0 0 auto}.review-empty{padding:1rem;border:1px dashed var(--line);border-radius:16px;color:var(--ink-faint);font-size:.85rem}.draft-reply{margin-top:.6rem;width:100%}.draft-reply summary{cursor:pointer;font-size:.78rem;font-weight:600;color:var(--ink-mute);list-style:none;display:flex;align-items:center;gap:.3rem}.draft-reply summary::-webkit-details-marker{display:none}.draft-reply summary:before{content:"›";display:inline-block;transition:transform .1s ease}.draft-reply[open] summary:before{transform:rotate(90deg)}.draft-reply p,.draft-reply summary:hover{color:var(--ink)}.draft-reply p{font-size:.83rem;white-space:pre-wrap;margin:.5rem 0;background:var(--surface-2);padding:.7rem .85rem;border-radius:10px;line-height:1.5}.draft-copy-btn{font-family:var(--font);font-size:.72rem;font-weight:700;border:1px solid var(--line);background:var(--surface);color:var(--ink-mute);border-radius:999px;padding:.3rem .75rem;cursor:pointer}.draft-copy-btn:hover{border-color:var(--ink);color:var(--ink)}.filter-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.1rem}.filter-chip{font-family:var(--font);font-size:.76rem;font-weight:600;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink-faint);cursor:pointer}.filter-chip:hover{border-color:var(--ink-mute)}.filter-chip.active{color:var(--ink);border-color:var(--ink);background:var(--surface-2)}.board{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.4rem;gap:1.4rem;align-items:start}@media (max-width:860px){.board{grid-template-columns:1fr}}.lane{background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:1.2rem 1.2rem 1.35rem;display:flex;flex-direction:column;min-height:120px;min-width:0}.lane-head{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px solid var(--line)}.lane-head h2{font-size:1.15rem;font-weight:800;margin:0;letter-spacing:-.01em;color:var(--ink)}.lane-count{font-size:.76rem;color:var(--ink-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.client-module{display:flex;flex-direction:column;gap:.4rem;background:var(--surface-2);border:1px solid var(--line);border-radius:20px;padding:1.2rem 1.2rem 1.35rem;text-decoration:none;color:inherit;transition:transform .1s ease}.client-module:hover{transform:translateY(-1px);border-color:var(--ink-mute)}.client-module h2{font-size:1.1rem;font-weight:800;margin:0;letter-spacing:-.01em;color:var(--ink)}.back-link{display:inline-block;font-size:.82rem;color:var(--ink-mute);text-decoration:none;margin-bottom:.75rem}.back-link:hover{color:var(--ink)}.completed-section{margin-top:.5rem}.completed-section>summary{cursor:pointer;list-style:none}.completed-section>summary::-webkit-details-marker{display:none}.completed-section>summary:before{content:"›";display:inline-block;margin-right:.3rem;transition:transform .1s ease}.completed-section[open]>summary:before{transform:rotate(90deg)}.completed-section>summary:hover{color:var(--ink)}.completed-section>div:first-of-type{margin-top:1rem}.cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.cards-empty{padding:1rem .85rem;border:1px dashed var(--line);border-radius:16px;color:var(--ink-faint);font-size:.83rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:.8rem .9rem .85rem;box-shadow:var(--shadow);cursor:pointer;transition:opacity .15s ease,transform .1s ease}.card:hover{transform:translateY(-1px)}.card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.card-top{display:flex;align-items:flex-start;gap:.65rem}.check{flex:0 0 auto;width:19px;height:19px;border-radius:50%;border:1.5px solid var(--line);margin-top:.15rem;display:flex;align-items:center;justify-content:center;background:var(--surface);cursor:pointer;padding:0}.check svg{width:10px;height:10px;opacity:0;stroke:var(--surface)}.card-body{flex:1 1 auto;min-width:0}.card-title{font-weight:650;font-size:.95rem;margin:0 0 .26rem;color:var(--ink)}.card-context,.card-title{outline:none;background:transparent;border:none;font-family:var(--font);width:100%;padding:0}.card-context{font-size:.83rem;color:var(--ink-mute);margin:0;resize:none}.card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.45rem}.pill{display:inline-block;font-family:var(--font);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;padding:0;cursor:pointer;border:none;background:transparent}.pill.act{color:var(--ink)}.pill.week{color:var(--ink-mute)}.pill.fyi{color:var(--ink-faint)}.client-tag{font-weight:600;background:var(--surface-2)}.client-tag,.finance-tag{font-size:.68rem;color:var(--ink-mute);border-radius:6px;padding:.15rem .55rem}.finance-tag{font-family:var(--font);font-weight:700;letter-spacing:.02em;cursor:pointer;border:1px solid var(--line);background:transparent}.finance-tag.payable,.finance-tag:hover{border-color:var(--ink-mute)}.finance-tag.payable{color:var(--ink-mute)}.finance-tag.receivable{border-color:var(--ink);color:var(--bg);background:var(--ink)}.finance-tag.quote{border-style:dashed;border-color:var(--ink-mute);color:var(--ink-mute)}.finance-tag.contract{border-width:1.5px;border-color:var(--ink);color:var(--ink)}.finance-tag.unset{color:var(--ink-faint);border-style:dashed}.card-client{display:block;font-size:.83rem;color:var(--ink-mute);margin:.3rem 0 0;outline:none;background:transparent;border:none;border-bottom:1px dashed var(--line);font-family:var(--font);width:100%;padding:0 0 .2rem}.card-client:focus-visible{border-bottom-color:var(--ink)}.card-actions{margin-left:auto;flex:0 0 auto;display:flex;gap:.2rem}.icon-btn{width:23px;height:23px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink-faint);font-size:.82rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration:none}.icon-btn svg{width:11px;height:11px}.icon-btn:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.card.is-done{opacity:.5}.card.is-done .check{background:var(--ink);border-color:var(--ink)}.card.is-done .check svg{opacity:1}.card.is-done .card-title{text-decoration:line-through;-webkit-text-decoration-color:var(--done-ink);text-decoration-color:var(--done-ink);color:var(--done-ink)}.card.is-done .pill{opacity:.6}.quickadd{display:flex;flex-direction:column;gap:.5rem;margin-top:.9rem;padding-top:.9rem;border-top:1px dashed var(--line)}.quickadd input,.quickadd select{font:inherit;font-size:.85rem;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:var(--font)}.quickadd input:focus-visible,.quickadd select:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.qa-row2,.qa-row3{display:flex;gap:.5rem}.qa-row2 .qa-detail,.qa-row3 .qa-client,.qa-row3 .qa-link{flex:1 1;min-width:0}.qa-row4{display:flex;justify-content:flex-end}.quickadd select{flex:0 0 auto}.quickadd button{font-family:var(--font);font-size:.78rem;font-weight:700;border:none;border-radius:10px;padding:.55rem 1rem;background:var(--ink);color:var(--bg);cursor:pointer;flex:0 0 auto}.quickadd button:hover{opacity:.85}footer.app-footer{margin-top:2.4rem;padding-top:1.35rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.signin-wrap{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem}.signin-btn{font-family:var(--font);font-size:.9rem;font-weight:700;border:1px solid var(--line);background:var(--ink);color:var(--bg);border-radius:12px;padding:.75rem 1.5rem;cursor:pointer}@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}