.app,.login,.popover,.toast{--bg:#fff;--sidebar:#f7f7f5;--ink:#37352f;--muted:#787774;--faint:#a3a29e;--line:#e9e9e7;--hover:#f1f1ef;--row-hover:#fafaf9;--selected:#e7f3fc;--accent:#2383e2;--accent-hover:#1b74cc;--danger:#c4403b;--shadow:#0f0f0f1a;--gutter:48px;color:var(--ink);font-size:14px;line-height:1.5}:where(.app,.popover,.login,.toast) :where(button,input,textarea){font:inherit;color:inherit}:where(.app,.popover,.toast) :where(button){cursor:pointer;text-align:left;background:0 0;border:0;padding:0}:where(.app,.popover) :where(button:disabled){cursor:default;opacity:.6}:where(.app,.popover) :where(input,textarea){background:0 0;border:0;outline:0;min-width:0;padding:0}:where(.app,.popover) :where(input,textarea)::placeholder{color:var(--faint)}:where(.app,.popover,.toast,.login) :focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}:where(.app,.popover) :where(input,textarea):focus-visible{outline:0}.icon{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.muted{color:var(--muted)}.tint-blue{--tint-bg:#d3e5ef;--tint-ink:#183347}.tint-purple{--tint-bg:#e8deee;--tint-ink:#412454}.tint-green{--tint-bg:#dbeddb;--tint-ink:#1c3829}.tint-yellow{--tint-bg:#fdecc8;--tint-ink:#402c1b}.tint-pink{--tint-bg:#f5e0e9;--tint-ink:#4c2337}.tint-orange{--tint-bg:#fadec9;--tint-ink:#49290e}.tint-gray{--tint-bg:#eeeeec;--tint-ink:#32302c}.app{background:var(--bg);grid-template-columns:240px minmax(0,1fr);display:grid;position:fixed;inset:0}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;gap:12px;min-height:0;padding:10px 8px;display:flex}.workspace-name{white-space:nowrap;align-items:center;gap:8px;padding:4px 8px;font-weight:600;display:flex}.logo{background:var(--ink);width:22px;height:22px;color:var(--bg);border-radius:5px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.nav{gap:1px;display:grid}.nav-gap{height:10px}.nav button,.nav a{color:var(--muted);white-space:nowrap;border-radius:6px;align-items:center;gap:8px;width:100%;padding:4px 8px;font-weight:500;text-decoration:none;display:flex}.nav button:hover,.nav a:hover{background:var(--hover)}.nav a.is-current{color:var(--ink);background:#ebebe9}.nav em{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-style:normal;font-weight:400}.nav kbd{font:inherit;color:var(--faint);margin-left:auto;font-size:12px;font-weight:400}.account{align-items:center;gap:8px;min-width:0;margin-top:auto;padding:4px 8px;font-size:13px;display:flex}.account-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.quiet{color:var(--muted);white-space:nowrap}.quiet:hover{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.main{min-width:0;height:100%;overflow:auto}.avatar{background:var(--tint-bg,#eeeeec);width:18px;height:18px;color:var(--tint-ink,#32302c);border-radius:50%;flex:none;place-items:center;font-size:9.5px;font-weight:600;display:inline-grid}.avatar-large{width:26px;height:26px;font-size:11px}.avatar-unmet{color:var(--faint);border:1px dashed var(--faint);background:0 0}.org-mark{background:var(--tint-bg);width:20px;height:20px;color:var(--tint-ink);border-radius:4px;flex:none;place-items:center;font-size:11px;font-weight:600;display:inline-grid}.org-mark-large{border-radius:7px;width:34px;height:34px;font-size:16px}.tag{white-space:nowrap;border-radius:4px;align-items:center;padding:0 7px;font-size:13px;line-height:21px;display:inline-flex}.tag-button{border-radius:4px;display:inline-flex}.tag-button:hover .tag{filter:brightness(.96)}.status-NEW{color:#6f6e69;background:#f1f0ef}.status-TALKING{color:#183347;background:#d3e5ef}.status-COMMITTED{color:#402c1b;background:#fdecc8}.status-INVESTED{color:#1c3829;background:#dbeddb}.status-WE_PASSED{color:#32302c;background:#e3e2e0}.status-THEY_PASSED{color:#5d1715;background:#ffe2dd}.status-FELL_THROUGH{color:#49290e;background:#fadec9}.page-head{padding:40px var(--gutter) 16px}.page-head h1{letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700;line-height:1.2}.page-head p{color:var(--muted);margin:4px 0 0}.table-wrap{padding:0 var(--gutter) 64px;overflow-x:auto}.data-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1000px;font-size:13.5px}.data-table th{color:var(--muted);text-align:left;border-block:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap;padding:6px 8px;font-weight:400}.data-table th span{align-items:center;gap:6px;display:inline-flex}.data-table th .icon{color:var(--faint);width:14px;height:14px}.data-table th:last-child,.data-table td:last-child{border-right:0}.data-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;height:36px;padding:0 8px;overflow:hidden}.row{cursor:pointer}.row:hover{background:var(--row-hover)}.row.is-selected{background:var(--selected)}.name-cell{align-items:center;gap:8px;width:100%;min-width:0;font-weight:500;display:flex}.name-cell span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.people-cell{gap:8px;display:inline-flex}.person-chip{align-items:center;gap:5px;display:inline-flex}.person-chip.is-unmet{color:var(--faint)}.affiliation-chip{background:var(--hover);border-radius:4px;padding:0 7px;font-size:13px;line-height:21px}.is-overdue{color:var(--danger)}.cell-button{color:var(--muted);font-variant-numeric:tabular-nums;border-radius:4px}.cell-button:hover{color:var(--ink)}.cell-button.is-overdue{color:var(--danger)}.cell-button.is-empty{color:var(--faint)}.reveal-on-hover{opacity:0}.row:hover .reveal-on-hover,.reveal-on-hover:focus-visible{opacity:1}@media (hover:none){.reveal-on-hover{opacity:1}}.data-table .group-row td{border-right:0;height:40px;padding-top:8px}.group-row button{align-items:center;gap:6px;display:inline-flex}.group-row .icon{width:12px;height:12px;color:var(--muted);transition:transform .1s}.group-row .is-closed .icon{transform:rotate(-90deg)}.group-row i{color:var(--faint);font-style:normal}.add-row td{color:var(--muted)}.add-row:hover{background:var(--row-hover)}.add-row button{color:var(--muted);align-items:center;gap:6px;width:100%;height:36px;display:inline-flex}.add-row input{width:100%;height:34px}.message-cell{color:var(--muted)}.inline-link{text-underline-offset:2px;color:var(--muted);text-decoration:underline}.inline-link:hover{color:var(--ink)}.skeleton{background:var(--hover);border-radius:3px;width:60%;height:10px;display:block}.panel{background:var(--bg);width:min(620px,100%);box-shadow:-1px 0 0 var(--line), -16px 0 48px var(--shadow);z-index:20;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@media (prefers-reduced-motion:no-preference){.panel{animation:.14s ease-out panel-in}@keyframes panel-in{0%{opacity:.6;transform:translate(14px)}}}.panel-top{z-index:2;background:var(--bg);justify-content:space-between;padding:8px 12px;display:flex;position:sticky;top:0}.icon-button{width:28px;height:28px;color:var(--muted);border-radius:6px;place-items:center;display:grid}.icon-button:hover{background:var(--hover)}.panel-body{padding:8px var(--gutter) 64px;flex-direction:column;gap:22px;display:flex}.panel-loading{height:200px}.panel-title{align-items:center;gap:10px;display:flex}.panel-title .avatar{width:34px;height:34px;font-size:13px}.editable{text-overflow:ellipsis;border-radius:4px}.title-input{letter-spacing:-.02em;width:100%;font-size:28px;font-weight:700;line-height:1.2}.properties{gap:1px;margin-top:12px;display:grid}.property{grid-template-columns:130px minmax(0,1fr);align-items:center;min-height:32px;display:grid}.property>span{color:var(--muted);align-items:center;gap:8px;display:flex}.property>span .icon{color:var(--faint)}.property>div{min-width:0;padding-left:6px}.property .cell-button{color:var(--ink)}.property .cell-button.is-empty{color:var(--muted)}.property .cell-button.is-overdue{color:var(--danger)}.panel-section{border-top:1px solid var(--line);padding-top:14px}.panel-section h2{margin:0 0 8px;font-size:13px;font-weight:600}.person-row{border-radius:6px;align-items:center;gap:10px;margin-inline:-6px;padding:5px 6px;display:flex;position:relative}.person-row:hover{background:var(--row-hover)}.person-row-main{flex-wrap:wrap;flex:1;align-items:baseline;gap:0 8px;min-width:0;display:flex}.person-name{font-weight:500}.person-name:hover{text-underline-offset:2px;text-decoration:underline}.role-input{color:var(--muted);max-width:200px;font-size:13px}.also{color:var(--faint);width:100%;font-size:12.5px}.met{color:var(--muted);white-space:nowrap;font-size:13px}.met:last-child{margin-right:30px}.met.is-unmet{color:var(--danger)}.row-remove{width:20px;height:20px;color:var(--faint);opacity:0;border-radius:4px;flex:none;place-items:center;display:grid}.row-remove .icon{width:12px;height:12px}.row-remove:hover{background:var(--hover);color:var(--ink)}.person-row:hover .row-remove,.row-remove:focus-visible{opacity:1}@media (hover:none){.row-remove{opacity:1}}.text-action{color:var(--muted);align-items:center;gap:10px;padding:5px 0;display:inline-flex}.text-action:hover{color:var(--ink)}.picker{position:relative}.picker-field{color:var(--muted);align-items:center;gap:10px;padding:5px 0;display:flex}.picker-field input{color:var(--ink);flex:1}.picker-list{background:var(--bg);box-shadow:0 0 0 1px var(--line), 0 8px 28px var(--shadow);z-index:5;border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0}.picker-list button,.palette li button{border-radius:5px;align-items:center;gap:10px;width:100%;min-width:0;padding:5px 8px;display:flex}.picker-list button.is-active,.palette li button.is-active{background:var(--hover)}.picker-list span,.palette li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-list small,.palette small{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;margin-left:auto;font-size:12px;overflow:hidden}.composer{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.composer-box{border:1px solid var(--line);border-radius:8px;flex:1;gap:8px;min-width:0;padding:8px 10px;display:grid;box-shadow:0 1px 2px #0f0f0f0a}.composer-box:focus-within{border-color:#c9c9c6}.composer-box textarea{resize:vertical;width:100%;min-height:44px;display:block}.composer-foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.composer-foot input[type=date]{font-size:13px}.chip{background:var(--hover);color:var(--muted);border-radius:12px;padding:1px 9px}.chip:hover{background:#e7e7e4}.chip.is-on{color:#183347;background:#d3e5ef}.primary{background:var(--accent);color:#fff;border-radius:6px;padding:3px 12px;font-weight:500}.primary:hover{background:var(--accent-hover)}.push{margin-left:auto}.error{color:var(--danger);margin:0;font-size:13px}.empty-note{color:var(--muted);margin:0}.feed{margin:0;padding:0;list-style:none}.feed-item{gap:10px;padding:8px 0;display:flex}.feed-item>div{flex:1;min-width:0}.feed-head{color:var(--muted);flex-wrap:wrap;align-items:center;gap:0 8px;font-size:13px;display:flex}.feed-head b{color:var(--ink);font-weight:500}.feed-delete{color:var(--faint);opacity:0;margin-left:auto;font-size:12px}.feed-delete:hover{color:var(--danger)}.feed-item:hover .feed-delete,.feed-delete:focus-visible{opacity:1}@media (hover:none){.feed-delete{opacity:1}}.feed-move{flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;font-size:13px;display:flex}.feed-item p{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.popover{z-index:30;background:var(--bg);box-shadow:0 0 0 1px var(--line), 0 8px 28px var(--shadow);border-radius:8px;width:260px;padding:6px;position:fixed}.menu{gap:1px;display:grid}.menu h4{color:var(--muted);margin:4px 6px;font-size:12px;font-weight:500}.menu>button{border-radius:4px;align-items:center;gap:8px;padding:4px 6px;display:flex}.menu>button:hover{background:var(--hover)}.menu small{color:var(--muted);font-size:13px}.menu .danger{color:var(--danger)}.menu-note{color:var(--muted);margin:4px 6px;font-size:13px}.form{gap:8px;padding:4px 6px;display:grid}.form-inset{margin-top:4px;padding-inline:6px}.form label{color:var(--muted);gap:2px;font-size:12px;display:grid}.form input{color:var(--ink);border:1px solid var(--line);border-radius:5px;width:100%;padding:3px 7px;font-size:14px}.form input:focus{border-color:var(--accent)}.form-actions{justify-content:flex-end;align-items:center;gap:10px;font-size:13px;display:flex}.overlay{z-index:40;background:#0f0f0f40;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.dialog{background:var(--bg);border-radius:12px;gap:12px;width:min(400px,100%);padding:16px;display:grid;box-shadow:0 20px 60px #0f0f0f40}.dialog h2{margin:0;font-size:15px;font-weight:600}.dialog input{border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:15px}.dialog input:focus{border-color:var(--accent)}.palette{background:var(--bg);border-radius:12px;width:min(560px,100%);overflow:hidden;box-shadow:0 20px 60px #0f0f0f40}.palette input{border-bottom:1px solid var(--line);width:100%;padding:13px 16px;font-size:16px}.palette ul{max-height:340px;margin:0;padding:6px;list-style:none;overflow:auto}.palette .empty-note{padding:8px}.toast{background:var(--ink);color:#fff;z-index:50;border-radius:6px;gap:12px;max-width:calc(100% - 32px);padding:7px 12px;font-size:13px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast-error{background:var(--danger)}.toast button{text-underline-offset:2px;color:#fff;text-decoration:underline}.login{background:var(--bg);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.login-card{text-align:center;justify-items:center;gap:16px;padding:8px 24px;display:grid;position:relative}.login-card h1{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.google-button{background:var(--bg);cursor:pointer;border:1px solid #d9d9d6;border-radius:6px;align-items:center;gap:10px;padding:7px 14px;font-weight:500;display:inline-flex}.google-button:hover{background:var(--row-hover)}.login-card p{color:var(--danger);margin:0;font-size:13px}@media (max-width:760px){.app{--gutter:16px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--line);gap:6px;padding:8px 16px 6px}.nav{display:flex;overflow-x:auto}.nav-gap,.nav kbd,.account{display:none}.page-head{padding:18px var(--gutter) 10px}.page-head h1{font-size:24px}.property{grid-template-columns:110px minmax(0,1fr)}}
