:root{--ground: #f3f6f3;--surface: #ffffff;--surface-2: #f7faf7;--ink: #0b1a12;--text: #16241b;--sub: #56665c;--faint: #87968c;--line: #dce4de;--line-strong: #c5d1c8;--brand: #3bb94f;--brand-ink: #1e7a2d;--brand-wash: #e6f5e8;--warn: #b4540a;--warn-wash: #fceee2;--danger: #b42318;--danger-wash: #fdecea;--private: #5b4bb7;--private-wash: #efecfa;--btn: #0b1a12;--btn-text: #ffffff;--focus: #2f8f3f;--shadow: 0 1px 2px rgba(11, 26, 18, .05), 0 10px 28px -16px rgba(11, 26, 18, .22);--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground: #0a120d;--surface: #111b15;--surface-2: #15211a;--ink: #eaf2ec;--text: #d9e4dc;--sub: #9cb0a3;--faint: #6e8276;--line: #213027;--line-strong: #2e4235;--brand: #4cc960;--brand-ink: #72db85;--brand-wash: #143020;--warn: #f2a365;--warn-wash: #35230f;--danger: #f28b82;--danger-wash: #3a1614;--private: #afa2f3;--private-wash: #231e40;--btn: #4cc960;--btn-text: #06110a;--focus: #72db85;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px -16px rgba(0, 0, 0, .7);color-scheme:dark}}:root[data-theme=dark]{--ground: #0a120d;--surface: #111b15;--surface-2: #15211a;--ink: #eaf2ec;--text: #d9e4dc;--sub: #9cb0a3;--faint: #6e8276;--line: #213027;--line-strong: #2e4235;--brand: #4cc960;--brand-ink: #72db85;--brand-wash: #143020;--warn: #f2a365;--warn-wash: #35230f;--danger: #f28b82;--danger-wash: #3a1614;--private: #afa2f3;--private-wash: #231e40;--btn: #4cc960;--btn-text: #06110a;--focus: #72db85;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px -16px rgba(0, 0, 0, .7);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{margin:0;color:var(--ink);text-wrap:balance}a{color:var(--brand-ink)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--sub);font-size:13px}.faint{color:var(--faint)}.appbar{background:var(--surface);border-bottom:1px solid var(--line);padding-inline:20px}.appbar-in{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:24px;min-height:56px;flex-wrap:wrap}.mark{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);letter-spacing:-.01em;font-size:15px;text-decoration:none}.mark i{width:14px;height:14px;background:var(--brand);border-radius:3px;display:block;transform:rotate(45deg)}.mark span{color:var(--faint);font-weight:500}.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{padding:8px 12px;border-radius:8px;color:var(--sub);text-decoration:none;font-weight:500;display:flex;gap:6px;align-items:center}.nav a.active{color:var(--ink);background:var(--surface-2);box-shadow:inset 0 -2px 0 var(--brand)}.nav .count{font-family:var(--mono);font-size:11px;background:var(--warn-wash);color:var(--warn);padding:0 6px;border-radius:10px}.viewer{margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--sub);font-size:13px;flex-wrap:wrap}.viewer strong{color:var(--ink);font-weight:600}.devbar{display:flex;align-items:center;gap:6px;font-size:12px;border:1px dashed var(--line-strong);border-radius:8px;padding:3px 8px}.devbar input{width:110px;border:1px solid var(--line-strong);border-radius:6px;padding:2px 6px;background:var(--surface)}.page{padding-inline:20px;padding-block:16px 48px}.page-in{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.primary{background:var(--btn);color:var(--btn-text);border:0;border-radius:9px;padding:9px 14px;font-weight:600;cursor:pointer}.primary:hover{filter:brightness(1.12)}.primary:disabled{opacity:.55;cursor:default;filter:none}.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:9px;padding:8px 13px;font-weight:600;cursor:pointer}.secondary:hover{border-color:var(--sub)}.link{background:none;border:0;padding:0;color:var(--brand-ink);font-weight:600;cursor:pointer;font-size:12.5px}.ghost{background:none;border:0;padding:0;color:var(--faint);font-size:12px;cursor:pointer}.ghost:hover{color:var(--ink)}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span{font-size:12px;color:var(--sub);font-weight:500}.input{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:7px 9px}textarea.input{min-height:84px;resize:vertical}.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--sub);cursor:pointer}.check input{accent-color:var(--brand-ink)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:20px;padding:5px 12px;cursor:pointer;font-size:13px;color:var(--sub);font-weight:500}.chip:hover{border-color:var(--sub)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.chip .n{font-family:var(--mono);font-size:11px;opacity:.7;margin-left:4px}.pill{font-size:11.5px;font-weight:600;border-radius:5px;padding:1px 7px;white-space:nowrap}.pill.warn{background:var(--warn-wash);color:var(--warn)}.pill.ok{background:var(--brand-wash);color:var(--brand-ink)}.pill.priv{background:var(--private-wash);color:var(--private)}.pill.src{background:var(--surface-2);color:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}.pill.danger{background:var(--danger-wash);color:var(--danger)}.tag{font-size:11.5px;border:1px solid var(--line-strong);color:var(--sub);border-radius:5px;padding:0 6px;white-space:nowrap}.tag.gen{border-style:dashed}.notice{border-radius:10px;padding:9px 12px;font-size:13px;border:1px solid var(--line);background:var(--surface-2);color:var(--text)}.notice.warn{background:var(--warn-wash);border-color:transparent;color:var(--warn)}.notice.danger{background:var(--danger-wash);border-color:transparent;color:var(--danger)}.notice.ok{background:var(--brand-wash);border-color:transparent;color:var(--brand-ink)}.notice .actions{margin-top:6px;display:flex;gap:10px;flex-wrap:wrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}.panel>h2,.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:600}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.empty{padding:28px 0;color:var(--sub);text-align:center}.list-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.list-head h1{font-size:22px;letter-spacing:-.02em}.list-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search{min-width:0;width:280px;max-width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface)}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow-x:auto}table.grid{width:100%;border-collapse:collapse;font-size:13.5px}table.grid th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}table.grid td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}table.grid tr:last-child td{border-bottom:0}table.grid tr.click{cursor:pointer}table.grid tr.click:hover td{background:var(--surface-2)}table.grid td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.cell-title{font-weight:600;color:var(--ink)}.cell-sub{color:var(--sub);font-size:12px}.shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.main{display:flex;flex-direction:column;gap:16px;min-width:0}.aside{display:flex;flex-direction:column;gap:16px}.client{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:14px}.client-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.client h1{font-size:24px;letter-spacing:-.02em;font-weight:700}.meta{color:var(--sub);font-size:13px;display:flex;gap:6px 14px;flex-wrap:wrap;margin-top:4px}.state{font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;background:var(--brand-wash);color:var(--brand-ink);white-space:nowrap}.state.off{background:var(--surface-2);color:var(--sub);box-shadow:inset 0 0 0 1px var(--line)}.filters{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}.toggle{display:flex;gap:8px;align-items:center;color:var(--sub);font-size:13px;cursor:pointer}.toggle input{accent-color:var(--brand-ink);width:16px;height:16px}.timeline{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px 22px 18px}.summary{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;color:var(--sub);font-size:12.5px;padding:12px 0 4px}.cats{display:flex;gap:4px;flex-wrap:wrap}.cat{background:none;border:0;padding:4px 8px;border-radius:6px;color:var(--sub);cursor:pointer;font-size:12.5px;font-weight:500}.cat[aria-pressed=true]{color:var(--ink);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line-strong)}.day{display:flex;align-items:baseline;gap:10px;padding:18px 0 6px}.day h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-weight:600}.day span{font-family:var(--mono);font-size:12px;color:var(--faint)}.entries{list-style:none;margin:0;padding:0}.entry{display:grid;grid-template-columns:48px 22px minmax(0,1fr);gap:0 10px}.entry .time{font-family:var(--mono);font-size:12px;color:var(--faint);padding-top:13px;text-align:right}.spine{position:relative;display:flex;justify-content:center}.spine:before{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--line)}.entry:last-child .spine:before{bottom:auto;height:22px}.node{position:relative;margin-top:11px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1.5px solid var(--line-strong);color:var(--sub)}.node svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.node.contact{background:var(--brand);border-color:var(--brand);color:#fff}.node.offer{background:var(--ink);border-color:var(--ink);color:var(--surface)}.node.late{background:var(--warn-wash);border-color:var(--warn);color:var(--warn)}.node.private{background:var(--private-wash);border-color:var(--private);color:var(--private)}.body{padding:10px 0 14px;border-bottom:1px solid var(--line);min-width:0;display:flex;flex-direction:column;gap:6px}.entry:last-child .body{border-bottom:0}.head{display:flex;gap:6px 10px;flex-wrap:wrap;align-items:baseline}.title{font-weight:600;color:var(--ink);font-size:14px}.by{color:var(--faint);font-size:12.5px}.text{color:var(--text);max-width:68ch;overflow-wrap:anywhere;white-space:pre-wrap}.kv{display:flex;gap:4px 16px;flex-wrap:wrap;font-size:13px;color:var(--sub);align-items:baseline}.kv b{font-weight:500;color:var(--text)}.mail{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;max-width:72ch}.mail .to{font-size:12.5px;color:var(--sub);overflow-wrap:anywhere}.mail-body{border-top:1px solid var(--line);padding-top:8px;overflow-wrap:anywhere}.mail-body img{max-width:100%;height:auto}.mail-frame{display:block;width:100%;min-height:320px;border:1px solid var(--line);border-radius:8px;background:#fff}.files{display:flex;flex-wrap:wrap;gap:6px}.file{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:6px;padding:3px 8px;font-size:12.5px;background:var(--surface);max-width:100%}.file .nm{min-width:0;overflow-wrap:anywhere;text-align:left}.file .sz{font-family:var(--mono);font-size:11px;color:var(--faint);white-space:nowrap}button.file{cursor:pointer;font-family:inherit;color:var(--text)}button.file:hover{border-color:var(--sub)}.file .ghost{font-size:14px;line-height:1}.filebtn{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sub);cursor:pointer;border:1px dashed var(--line-strong);border-radius:8px;padding:6px 10px;align-self:flex-start}.filebtn:hover{border-color:var(--sub);color:var(--ink)}.filebtn input{position:absolute;opacity:0;width:1px;height:1px}.file.gone{border-style:dashed;color:var(--faint)}.file.gone .nm{text-decoration:line-through}.entry.deleted .title,.entry.deleted .text{text-decoration:line-through;color:var(--faint)}.actions-row{display:flex;gap:12px}.proj{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 0;border-top:1px solid var(--line)}.proj:first-of-type{border-top:0;padding-top:0}.proj strong{color:var(--ink);font-weight:600}.proj .val{font-family:var(--mono);font-size:13px;color:var(--ink);text-align:right}.proj small{color:var(--sub);font-size:12px}.bar{grid-column:1 / -1;height:4px;border-radius:2px;background:var(--line);overflow:hidden;margin-top:4px}.bar i{display:block;height:100%;background:var(--brand)}.rem{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:6px 0;border-top:1px solid var(--line)}.rem:first-of-type{border-top:0;padding-top:0}.composer{padding:0;overflow:hidden}.seg{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.seg button{background:var(--surface-2);border:0;padding:11px 6px;cursor:pointer;color:var(--sub);font-weight:600;font-size:13px;border-right:1px solid var(--line)}.seg button:last-child{border-right:0}.seg button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:inset 0 2px 0 var(--brand)}.form{padding:14px 18px 18px;display:flex;flex-direction:column;gap:10px}.remind{display:flex;flex-direction:column;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px}.remind .chip{padding:4px 10px;font-size:12.5px}.remind .when{font-size:12.5px;color:var(--sub)}.remind .when b{font-family:var(--mono);font-weight:500;color:var(--ink)}.note-private{color:var(--private)}dialog.dialog{border:1px solid var(--line);border-radius:14px;padding:0;background:var(--surface);color:var(--text);width:min(560px,calc(100vw - 32px));box-shadow:var(--shadow)}dialog.dialog::backdrop{background:#0b1a1273}.dialog-head{padding:16px 20px 0;display:flex;justify-content:space-between;gap:10px;align-items:baseline}.dialog-head h2{font-size:17px}.dialog-body{padding:14px 20px;display:flex;flex-direction:column;gap:10px}.dialog-foot{padding:0 20px 18px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%);background:var(--ink);color:var(--surface);padding:10px 16px;border-radius:10px;font-size:13px;box-shadow:var(--shadow);max-width:calc(100vw - 32px);z-index:10}.center-screen{min-height:70vh;display:grid;place-items:center;padding-inline:16px}.center-card{max-width:420px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}@media(max-width:1020px){.shell{grid-template-columns:minmax(0,1fr)}.viewer{margin-left:0}}@media(max-width:480px){.appbar,.page{padding-inline:16px}.entry{grid-template-columns:38px 22px minmax(0,1fr);gap:0 8px}.client{padding:16px}.timeline{padding:4px 14px 14px}.row2{grid-template-columns:1fr}.search{width:100%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
