:root{--paper: #f7f6f3;--card: #fdfdfc;--ink: #1a1916;--muted: #75705f;--faint: #a39d8e;--line: #e5e2da;--line-dark: #d4d0c5;--accent: #23684a;--accent-soft: #e4efe8;--danger: #b0442f}*{margin:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:Instrument Sans,Noto Sans SC,sans-serif;font-size:16px;line-height:1.5}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input{font:inherit;color:inherit}.pager{width:100vw;height:100vh;overflow:hidden}.pages{display:flex;width:200vw;height:100%;transition:transform .32s cubic-bezier(.33,1,.68,1);will-change:transform}.pages.pages-3{width:300vw}.pages>.page{flex:none;width:100vw;height:100%;overflow-y:auto;overflow-x:hidden;position:relative}@media (prefers-reduced-motion: reduce){.pages{transition:none}}.page-flip{position:fixed;right:0;top:50%;transform:translateY(-50%);background:var(--card);border:1px solid var(--line);border-right:none;border-radius:6px 0 0 6px;padding:.9rem .7rem;font-size:.8rem;letter-spacing:.08em;color:var(--muted);writing-mode:vertical-rl;z-index:20}.page-flip:hover{color:var(--accent);border-color:var(--line-dark)}.page-flip-left{right:0}.app-nav{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;justify-content:center;gap:.35rem;padding:.55rem 1rem;background:#f7f6f3eb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-nav button{padding:.35rem .85rem;border-radius:999px;font-size:.82rem;border:1px solid var(--line);color:var(--muted);background:var(--card)}.app-nav button.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}body{padding-top:2.6rem}.hero{height:92vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;border-bottom:1px solid var(--line);position:relative}.hero h1{font-weight:700;font-size:clamp(3rem,8vw,5.5rem);letter-spacing:-.03em}.hero h1 em{font-style:normal;color:var(--accent)}.hero .tag{color:var(--muted);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase}.hero .stat-line{margin-top:1.2rem;display:flex;gap:2.5rem;font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums}.hero .stat-line b{color:var(--ink);font-weight:600}.scroll-hint{position:absolute;bottom:2rem;color:var(--faint);font-size:.75rem;letter-spacing:.15em;animation:bob 2.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(5px)}}.wrap{max-width:1080px;margin:0 auto;padding:0 2rem}.section-head{display:flex;align-items:baseline;justify-content:space-between;padding:3.2rem 0 1.6rem;border-bottom:1px solid var(--ink);margin-bottom:2rem}.section-head h2{font-weight:600;font-size:1.5rem;letter-spacing:-.01em}.section-head .meta{font-size:.88rem;color:var(--muted);font-variant-numeric:tabular-nums}.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;padding-bottom:6rem}.person-card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.4rem 1.5rem 1.5rem;text-align:left;width:100%;height:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;transition:border-color .15s,box-shadow .15s}.person-card:hover{border-color:var(--line-dark);box-shadow:0 2px 10px #1a19160f}.person-card .p-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.3rem}.person-card h3{font-size:1.05rem;font-weight:700;letter-spacing:.06em}.person-card .pct{font-size:.88rem;color:var(--muted);font-variant-numeric:tabular-nums}.prog{height:3px;background:var(--line);border-radius:2px;margin:.6rem 0 1rem;overflow:hidden}.prog i{display:block;height:100%;background:var(--accent);transition:width .3s}.mini-task{display:flex;gap:.6rem;align-items:baseline;padding:.35rem 0;font-size:.95rem}.mini-task .dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--faint);flex:none;transform:translateY(-1px)}.mini-task.done .dot{background:var(--accent);border-color:var(--accent)}.mini-task.done span{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--line-dark)}.person-card .open-link{margin-top:auto;padding-top:1rem;font-size:.88rem;color:var(--accent);font-weight:500}#detail{display:none;min-height:100vh;padding-bottom:6rem}body.detail-mode #home{display:none}body.detail-mode #detail{display:block}.detail-top{display:flex;align-items:center;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:5}.back-btn{font-size:.9rem;color:var(--muted);font-weight:500}.back-btn:hover{color:var(--ink)}.detail-top .brand{font-weight:700;font-size:1.05rem;margin-left:auto;letter-spacing:-.01em}.detail-top .brand em{font-style:normal;color:var(--accent)}.detail-name-row{display:flex;align-items:baseline;justify-content:space-between;padding:2.6rem 0 1.4rem}.detail-name-row h2{font-weight:700;font-size:1.9rem;letter-spacing:.02em}.name-wrap{display:flex;align-items:baseline;gap:.7rem}.edit-name-btn{font-size:.85rem;color:var(--faint);font-weight:500}.edit-name-btn:hover{color:var(--accent)}.name-edit-input{font-family:inherit;font-weight:700;font-size:1.9rem;letter-spacing:.02em;border:none;border-bottom:2px solid var(--accent);background:transparent;outline:none;width:10ch;padding:0}.detail-name-row .meta{font-size:.88rem;color:var(--muted);font-variant-numeric:tabular-nums}.week-block{border:1px solid var(--line);background:var(--card);border-radius:6px;margin-bottom:1rem;overflow:hidden}.week-head{width:100%;display:flex;align-items:center;gap:.8rem;padding:.9rem 1.2rem;text-align:left}.week-head:hover{background:#f4f3ef}.week-head .chev{color:var(--faint);font-size:.7rem;transition:transform .15s;width:1em}.week-block.open .week-head .chev{transform:rotate(90deg)}.week-head .w-label{font-weight:600;font-size:1rem}.week-head .w-count{margin-left:auto;font-size:.88rem;color:var(--muted);font-variant-numeric:tabular-nums}.week-body{display:none;border-top:1px solid var(--line)}.week-block.open .week-body{display:block}.task-row{border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:none}.task-main{display:flex;align-items:center;gap:.8rem;padding:.75rem 1.2rem}.task-main:hover{background:#f7f6f2}.check{width:19px;height:19px;border-radius:5px;border:1.5px solid var(--line-dark);background:#fff;display:grid;place-items:center;flex:none;font-size:.75rem;color:#fff;line-height:1;transition:background .12s,border-color .12s}.check:hover{border-color:var(--accent)}.done>.task-main .check,.sub-row.done .check{background:var(--accent);border-color:var(--accent)}.task-title{font-weight:500;font-size:1rem}.task-row.done .task-title{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--line-dark)}.sub-count{font-size:.85rem;color:var(--faint);font-variant-numeric:tabular-nums}.del-btn{font-size:1rem;color:var(--faint);opacity:0;padding:.1rem .4rem}.task-main>.del-btn{margin-left:auto}.task-main:hover .del-btn,.sub-row:hover .del-btn{opacity:1}.del-btn:hover{color:var(--danger)}.subs{padding:.2rem 1.2rem .7rem 3rem}.sub-row{display:flex;align-items:center;gap:.7rem;padding:.35rem 0;font-size:.95rem}.sub-row .check{width:17px;height:17px;border-radius:4px;font-size:.65rem}.sub-row.done span.sub-title{color:var(--faint);text-decoration:line-through;text-decoration-color:var(--line-dark)}.add-row{display:flex;gap:.6rem;align-items:center;padding:.4rem 0}.add-row input{flex:1;max-width:340px;border:none;border-bottom:1px solid var(--line);background:transparent;padding:.25rem .1rem;font-size:.95rem;outline:none}.add-row input:focus{border-bottom-color:var(--accent)}.add-row input::placeholder{color:var(--faint)}.add-task-zone{padding:.55rem 1.2rem .8rem 3rem}.ghost-btn{font-size:.88rem;color:var(--muted);font-weight:500}.ghost-btn:hover{color:var(--accent)}.add-week-zone{margin-top:.4rem}footer{border-top:1px solid var(--line);padding:1.4rem 0 2.5rem;display:flex;justify-content:space-between;font-size:.85rem;color:var(--faint)}footer button:hover{color:var(--danger)}.notif{margin-top:2.4rem;border:1px solid var(--line-dark);border-left:3px solid var(--danger);border-radius:6px;background:var(--card);overflow:hidden}.notif-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.8rem 1.1rem;font-weight:600;font-size:.95rem;border-bottom:1px solid var(--line)}.notif-row{width:100%;text-align:left;display:flex;align-items:baseline;gap:.9rem;padding:.6rem 1.1rem;font-size:.9rem;border-bottom:1px solid var(--line)}.notif-row:last-child{border-bottom:none}.notif-row:hover{background:#f7f6f2}.notif-row .n-title{font-weight:500}.notif-row .n-when{color:var(--muted);font-variant-numeric:tabular-nums}.notif-row .n-who{margin-left:auto;color:var(--danger);font-size:.85rem}.sched{display:flex;height:100vh}.sched-list{width:38%;min-width:320px;height:100%;overflow-y:auto;padding:0 1.5rem 3rem;border-right:1px solid var(--line)}.sched-cal{flex:1;min-width:0;height:100%;display:flex;flex-direction:column}.sched-top{display:flex;align-items:center;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:5}.sched-top .brand{font-weight:700;font-size:1.05rem;margin-left:auto}.sched-top .brand em{font-style:normal;color:var(--accent)}.sched-tabs{display:flex;gap:.4rem;padding:1.4rem 0 1rem}.sched-tabs button{padding:.4rem .9rem;border-radius:999px;font-size:.9rem;border:1px solid var(--line);color:var(--muted);background:var(--card)}.sched-tabs button.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sched-tabs .n{font-variant-numeric:tabular-nums;opacity:.65;margin-left:.35rem}.sched-add{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.sched-add input,.sched-add select{border:1px solid var(--line);border-radius:4px;background:var(--card);padding:.4rem .6rem;font-size:.92rem;outline:none}.sched-add input:focus,.sched-add select:focus{border-color:var(--accent)}.sched-add>input:first-child{flex:1;min-width:12rem}.sched-hint{font-size:.8rem;color:var(--faint);padding:.5rem 0 0}.sched-problem{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;margin-top:.9rem;padding:.7rem .9rem;border-radius:5px;background:#fbeeea;border:1px solid #e8cfc6;color:var(--danger);font-size:.88rem}.sched-problem .ghost-btn{color:var(--danger);text-decoration:underline}.sched-items{padding-top:1.2rem}.sched-empty{color:var(--faint);font-size:.9rem;padding:1rem 0}.sched-card{border:1px solid var(--line);background:var(--card);border-radius:6px;margin-bottom:.7rem;overflow:hidden}.sched-card-head{width:100%;text-align:left;display:flex;align-items:flex-start;gap:.7rem;padding:.75rem 1rem}.sched-card-head:not(.static):hover{background:#f4f3ef}.sched-card-head .chev{color:var(--faint);font-size:.7rem;transition:transform .15s;padding-top:.35rem}.sched-card.open .chev{transform:rotate(90deg)}.sc-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.sc-title{font-weight:600;font-size:.98rem}.sc-when{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums}.sc-flag{margin-left:auto;flex:none;font-size:.72rem;letter-spacing:.06em;color:var(--danger);border:1px solid #e8cfc6;background:#fbeeea;border-radius:999px;padding:.1rem .5rem}.sched-card.all-checked .sc-title{color:var(--accent)}.sched-card-body{border-top:1px solid var(--line);padding:.8rem 1rem .9rem}.sc-line{font-size:.88rem;color:var(--muted);padding:.1rem 0}.sc-dim{color:var(--faint)}.sc-desc{font-size:.88rem;color:var(--muted);margin:.6rem 0;max-height:8.5rem;overflow-y:auto;white-space:pre-wrap}.sc-checks{display:flex;gap:.7rem;padding:.6rem 0 .2rem}.sc-check{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:999px;padding:.25rem .8rem .25rem .35rem;font-size:.9rem;color:var(--muted)}.sc-check .check{width:17px;height:17px;font-size:.65rem}.sc-check.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sc-check.on .check{background:var(--accent);border-color:var(--accent)}.sc-foot{display:flex;align-items:center;gap:1rem;padding-top:.9rem}.sc-link{font-size:.85rem;color:var(--accent);text-decoration:none}.sc-link:hover{text-decoration:underline}.remove-btn{margin-left:auto;flex:none;border:1px solid var(--danger);border-radius:4px;padding:.28rem .75rem;font-size:.85rem;font-weight:500;color:var(--danger);background:#fff}.remove-btn:hover{background:var(--danger);color:#fff}.coffee-card .sched-card-head.static{align-items:center}.cal{display:flex;flex-direction:column;height:100%}.cal-top{display:flex;align-items:center;gap:.6rem;padding:1.05rem 1.2rem;border-bottom:1px solid var(--line)}.cal-label{font-weight:600;font-size:.95rem}.cal-top .ghost-btn{font-size:1.1rem;line-height:1;padding:0 .3rem}.cal-today{margin-left:auto;font-size:.85rem!important}.cal-days{display:flex;border-bottom:1px solid var(--line)}.cal-gutter{width:52px;flex:none;position:relative}.cal-day-head{flex:1;text-align:center;padding:.5rem 0;border-left:1px solid var(--line);font-size:.8rem;color:var(--muted)}.cal-day-head .dow{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}.cal-day-head .dom{font-size:1rem;color:var(--ink);font-variant-numeric:tabular-nums}.cal-day-head.is-today .dom{color:var(--accent);font-weight:700}.cal-body{flex:1;overflow-y:auto}.cal-grid{display:flex;position:relative}.cal-hour-label{position:absolute;right:.5rem;transform:translateY(-.5em);font-size:.68rem;color:var(--faint);font-variant-numeric:tabular-nums}.cal-col{flex:1;position:relative;border-left:1px solid var(--line)}.cal-hour-line{position:absolute;left:0;right:0;border-top:1px solid var(--line)}.cal-item{position:absolute;overflow:hidden;text-align:left;border-radius:4px;padding:.15rem .3rem;font-size:.72rem;border:1px solid var(--accent);background:var(--accent-soft);color:var(--ink);display:flex;flex-direction:column;line-height:1.25}.cal-item.coffee{border-color:#b98b3f;background:#f7edda}.cal-item.selected{box-shadow:0 0 0 2px var(--ink) inset}.cal-item .ci-time{color:var(--muted);font-variant-numeric:tabular-nums}.cal-item .ci-title{font-weight:600;overflow:hidden;text-overflow:ellipsis}@media (max-width: 760px){.cols{grid-template-columns:1fr}.sched{flex-direction:column;height:auto}.sched-list,.sched-cal{width:100%;height:auto}.sched-cal{height:70vh;border-top:1px solid var(--line)}}.crm-page{min-height:100%;padding-bottom:3rem}.crm-top{padding-top:.5rem}.crm-top-row{display:flex;align-items:baseline;gap:1rem;margin-top:.5rem}.crm-top-row h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-.03em}.crm-top-row h1 em{font-style:normal;color:var(--accent)}.crm-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1rem 0;font-size:.9rem;color:var(--muted)}.crm-stats b{color:var(--ink)}.crm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.crm-label-inline{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--muted)}.crm-label-inline select{border:1px solid var(--line);border-radius:4px;background:var(--card);padding:.3rem .5rem}.crm-filters{display:flex;gap:.4rem}.crm-chip{padding:.35rem .75rem;border-radius:999px;font-size:.85rem;border:1px solid var(--line);color:var(--muted);background:var(--card)}.crm-chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.crm-filter-banner{font-size:.88rem;color:var(--muted);margin-bottom:.5rem}.crm-capture{border:1px solid var(--line);border-radius:6px;background:var(--card);padding:1rem 1.1rem;margin-bottom:1.5rem}.crm-capture-title{font-weight:600;margin-bottom:.6rem}.crm-notes-input{width:100%;margin-top:.6rem;border:1px solid var(--line);border-radius:4px;background:var(--paper);padding:.5rem .65rem;font:inherit;resize:vertical}.crm-notes-input:focus{outline:none;border-color:var(--accent)}.crm-dedupe{margin-bottom:1rem;padding:.65rem .9rem;border-radius:5px;background:var(--accent-soft);border:1px solid #c5dccf;font-size:.88rem}.crm-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:var(--card)}.crm-table{width:100%;border-collapse:collapse;font-size:.9rem}.crm-table th,.crm-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--line)}.crm-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.crm-link{color:var(--accent);font-weight:500;text-align:left}.crm-link:hover{text-decoration:underline}.crm-pill{display:inline-block;font-size:.72rem;padding:.12rem .45rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.crm-pill.status-messaged{border-color:#d4a574;color:#8a5a20;background:#f7edda}.crm-pill.status-met{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.crm-detail{padding-bottom:3rem}.crm-detail-head{display:flex;justify-content:space-between;gap:1rem;margin:1.2rem 0;flex-wrap:wrap}.crm-detail-head h2{font-size:1.75rem}.crm-sub{color:var(--muted);margin-top:.25rem}.crm-detail-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.crm-panel{border:1px solid var(--line);border-radius:6px;background:var(--card);padding:1rem 1.1rem;margin-bottom:1rem}.crm-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:.6rem 0 .25rem}.crm-panel select{width:100%;max-width:20rem;border:1px solid var(--line);border-radius:4px;padding:.35rem .5rem;background:var(--paper)}.crm-tone{display:flex;gap:.4rem;margin:.5rem 0 .75rem;flex-wrap:wrap}.crm-actions-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.crm-timeline{list-style:none;padding:0}.crm-timeline li{padding:.65rem 0;border-bottom:1px solid var(--line)}.crm-tl-type{font-weight:600;display:block}.crm-tl-meta{font-size:.82rem;color:var(--muted)}.crm-tl-body{font-size:.88rem;margin-top:.35rem;white-space:pre-wrap}.crm-bridge{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--line)}.sched-network-link{margin-left:auto;font-size:.85rem!important}.crm-follow-ups{margin-top:0!important}.crm-table-first .crm-compact-header{position:sticky;top:2.6rem;z-index:4;background:#f7f6f3f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);padding-bottom:.75rem}.crm-compact-row{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;padding-top:.5rem}.crm-compact-title{font-size:1.35rem;font-weight:700}.crm-follow-toggle{width:100%;text-align:left;padding:.75rem 0;font-size:.88rem;color:var(--muted);border-top:1px solid var(--line);margin-top:1.5rem}.event-hub-head{margin:1rem 0}.event-hub-head h2{font-size:1.5rem}.event-hub-stats{margin-bottom:1rem;color:var(--muted);font-size:.95rem}.event-hub-stats b{color:var(--ink)}.crm-hub-btn{font-weight:600;color:var(--accent)!important}.crm-table th:first-child,.crm-table td:first-child{position:sticky;left:0;background:var(--card)}
