@font-face{font-family:Archivo;src:url(/fonts/Archivo-variable.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-600.woff2) format("woff2");font-weight:600;font-display:swap}:root{--bg: #fbfaf7;--surface: #ffffff;--surface-2: #f1efe9;--text: #0a0908;--muted: #6b675c;--faint: #a09a8c;--border: #d9d6cd;--border-strong: #0a0908;--accent: #ff4f00;--accent-text: #c23a00;--ok: #2f6b3a;--ok-bg: rgba(47, 107, 58, .1);--bad: #a3201a;--bad-bg: rgba(163, 32, 26, .1);--warn: #8a6100;--warn-bg: rgba(184, 134, 11, .14);--radius: 2px;--tap: 48px;--font: "Archivo", "Helvetica Neue", Arial, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;color-scheme:light;font-family:var(--font);font-size:17px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-variant-numeric:tabular-nums;overflow-wrap:break-word}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg)}body{min-height:100vh}::selection{background:#ff4f002e}a{color:var(--text);text-decoration-color:var(--accent);text-underline-offset:3px}h1,h2,h3{line-height:1.2;margin:0 0 .5rem;font-weight:750}h1{font-size:1.5rem;letter-spacing:-.01em}h2{font-size:1.1rem;margin-top:1.4rem}h3{font-size:1rem}p{margin:.4rem 0}small,.small{font-size:.86rem}.muted{color:var(--muted)}.faint{color:var(--faint)}.mono,.num{font-family:var(--mono);font-size:.93em;letter-spacing:-.01em}.label{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.right{text-align:right}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.row.nowrap{flex-wrap:nowrap;white-space:normal}.row.nowrap>:not(.grow){flex-shrink:0}.entry-row{display:flex;gap:.7rem;align-items:center;width:100%;padding:.65rem .15rem;min-height:56px;border:0;background:none;text-align:left;font-weight:inherit;color:var(--text);border-radius:0;justify-content:flex-start}.entry-row:disabled{opacity:1}.entry-row .title{font-weight:650}.entry-row .sub{display:block;color:var(--muted);font-size:.86rem;margin-top:.1rem}.grow{flex:1 1 auto;min-width:0}.stack>*+*{margin-top:.65rem}.hidden{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app{max-width:760px;margin:0 auto}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:calc(.55rem + env(safe-area-inset-top)) 1rem .55rem;background:var(--bg);border-bottom:1px solid var(--border-strong)}.wordmark{font-weight:800;font-size:1.05rem;letter-spacing:.01em;color:var(--text);text-decoration:none;display:flex;align-items:baseline;gap:.45rem}.wordmark small{font-family:var(--mono);font-weight:600;font-size:.68rem;letter-spacing:.2em;color:var(--muted)}.top-clock{font-family:var(--mono);font-size:.8rem;text-decoration:none;color:var(--text);border:1px solid var(--border-strong);padding:.2rem .5rem;border-radius:var(--radius);max-width:58%}.top-clock.on{border-color:var(--accent)}.top-clock .dot{display:inline-block;width:.5rem;height:.5rem;background:var(--accent);border-radius:50%;margin-right:.35rem;vertical-align:middle}main{padding:1rem 1rem 2rem}main.with-tabs{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:var(--bg);border-top:1px solid var(--border-strong);padding-bottom:env(safe-area-inset-bottom);max-width:760px;margin:0 auto}.tab{flex:1;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;font-weight:650;font-size:.85rem;color:var(--muted);text-decoration:none;position:relative;border-top:3px solid transparent}.tab.active{color:var(--text);border-top-color:var(--accent)}.tab .badge{position:absolute;top:6px;right:14%}.badge{display:inline-block;min-width:1.3rem;padding:0 .35rem;border-radius:999px;background:var(--accent-text);color:#fff;font-size:.72rem;text-align:center;line-height:1.3rem;font-family:var(--mono)}.banner{position:sticky;top:49px;z-index:19;padding:.55rem 1rem;font-weight:650;font-size:.92rem;border-bottom:1px solid currentColor}.banner.warn{background:#fdf3dc;color:var(--warn)}.banner.info{background:var(--surface-2);color:var(--text)}@media(min-width:900px){.app{max-width:960px;display:flex;flex-direction:column;min-height:100vh}.app>.top{order:0}.app>.tabs{order:1}.app>.banner{order:2}.app>main{order:3}main{padding:1.5rem 2rem 3rem}main.with-tabs{padding-bottom:3rem}.tabs{position:sticky;top:49px;bottom:auto;border-top:0;border-bottom:1px solid var(--border);max-width:none;width:100%;margin:0;justify-content:flex-start;padding:0 1rem;z-index:18}.tab{flex:0 0 auto;flex-direction:row;min-height:46px;padding:0 1rem;font-size:.95rem;border-top:0;border-bottom:3px solid transparent}.tab.active{border-bottom-color:var(--accent)}.banner{top:95px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem}.card+.card{margin-top:.75rem}.card.strong{border-color:var(--border-strong)}.section{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin:1.5rem 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--border-strong)}.section h2{margin:0;font-size:1rem}.section .label{margin:0}.list{list-style:none;margin:0;padding:0}.list>li{border-bottom:1px solid var(--border)}.list>li:last-child{border-bottom:0}.item{display:flex;gap:.7rem;align-items:center;padding:.75rem .15rem;min-height:56px;color:var(--text);text-decoration:none;width:100%}a.item:active,button.item:active{background:var(--surface-2)}.item .title{font-weight:650}.item .sub{color:var(--muted);font-size:.86rem;margin-top:.1rem}.chev{color:var(--faint);font-size:1.2rem}.empty{color:var(--muted);padding:.7rem 0}.kv{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600;overflow-wrap:anywhere}.figs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.fig{border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .6rem;background:var(--surface)}.fig .v{font-family:var(--mono);font-weight:600;font-size:clamp(.95rem,4.6vw,1.15rem);display:block}.fig .k{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}table.t{width:100%;border-collapse:collapse;font-size:.92rem}table.t th{text-align:left;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border-strong);padding:.35rem .3rem}table.t td{border-bottom:1px solid var(--border);padding:.5rem .3rem;vertical-align:top}table.t td.n,table.t th.n{text-align:right;font-family:var(--mono);white-space:nowrap}table.t.tight{font-size:.84rem}table.t.tight td,table.t.tight th{padding-left:.2rem;padding-right:.2rem}.nowrap{white-space:nowrap}table.t tr.total td{border-top:1px solid var(--border-strong);border-bottom:0;font-weight:700}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.pill{display:inline-block;font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.1rem .4rem;border-radius:var(--radius);border:1px solid currentColor;white-space:nowrap;line-height:1.4}.pill.ok{color:var(--ok);background:var(--ok-bg)}.pill.warn{color:var(--warn);background:var(--warn-bg)}.pill.bad{color:var(--bad);background:var(--bad-bg)}.pill.info{color:var(--text);background:var(--surface)}.pill.muted{color:var(--muted);background:var(--surface-2);border-color:var(--border)}.pill.accent{color:var(--accent-text);border-color:var(--accent)}.prio{display:inline-block;width:.55rem;height:.55rem;border-radius:1px;flex:none}.prio.high{background:var(--accent)}.prio.med{background:var(--text)}.prio.low{background:var(--border)}.line-ok{color:var(--ok);font-weight:650}.line-warn{color:var(--warn);font-weight:650}.line-bad{color:var(--bad);font-weight:650}button,.btn{font:inherit;font-weight:650;min-height:var(--tap);padding:.55rem 1rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;touch-action:manipulation;line-height:1.2}button:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:default}button.primary,.btn.primary{background:var(--text);border-color:var(--text);color:var(--bg)}button.accent,.btn.accent{background:var(--accent-text);border-color:var(--accent-text);color:#fff}button.danger,.btn.danger{color:var(--bad);border-color:var(--bad)}button.ok-btn{color:var(--ok);border-color:var(--ok)}button.small,.btn.small{min-height:40px;padding:.3rem .75rem;font-size:.92rem}button.tiny{min-height:34px;padding:.15rem .55rem;font-size:.85rem}button.block,.btn.block{width:100%}button.link,.btn.link{border:0;background:none;color:var(--text);padding:.3rem .2rem;min-height:40px;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;font-weight:600}button.huge{min-height:72px;font-size:1.25rem;font-weight:750;width:100%}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}.actions>.grow{flex:1 1 0}.actions>.full{flex:1 1 100%}label{display:block;font-weight:650;margin:.85rem 0 .3rem}label .hint,.hint{font-weight:400;color:var(--muted);font-size:.86rem}input,select,textarea{font:inherit;font-size:17px;width:100%;min-height:var(--tap);padding:.55rem .7rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text)}input[type=datetime-local],input[type=date],input[type=number]{font-family:var(--mono);font-size:16px}textarea{min-height:96px;resize:vertical}input[type=checkbox],input[type=radio]{width:24px;height:24px;min-height:0;margin:0;accent-color:var(--text);flex:none}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.check{display:flex;align-items:center;gap:.7rem;font-weight:550;margin:.3rem 0;min-height:var(--tap)}.seg{display:flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.seg button,.seg a{flex:1;border:0;border-radius:0;min-height:44px;font-size:.95rem;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text);background:var(--surface);font-weight:650}.seg>*+*{border-left:1px solid var(--border-strong)!important}.seg .on{background:var(--text);color:var(--bg)}.two{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{min-height:40px;padding:.3rem .75rem;border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;font-weight:600;font-size:.92rem}.chip.on{background:var(--text);color:var(--bg)}.error-box,.warn-box,.ok-box,.note-box{border-radius:var(--radius);padding:.6rem .8rem;font-weight:600;margin:.6rem 0;border:1px solid currentColor}.error-box{background:var(--bad-bg);color:var(--bad)}.warn-box{background:var(--warn-bg);color:var(--warn)}.ok-box{background:var(--ok-bg);color:var(--ok)}.note-box{background:var(--surface-2);color:var(--text);border-color:var(--border);font-weight:500}.retry{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.secret{background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:.6rem;overflow-wrap:anywhere;font-family:var(--mono);font-size:.8rem}.clock{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius);padding:1rem}.clock.on{border-left:6px solid var(--accent)}.clock .timer{font-family:var(--mono);font-weight:600;font-size:2.6rem;line-height:1.1;letter-spacing:-.02em}.clock .on-what{font-weight:700;font-size:1.1rem;margin:.2rem 0 .1rem}.clock .since{color:var(--muted);font-size:.9rem}.clock .pending{display:block;font-family:var(--mono);font-size:.75rem;color:var(--warn);margin-top:.1rem}.picker-list{max-height:55vh;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius)}.picker-list button{width:100%;justify-content:flex-start;text-align:left;border:0;border-bottom:1px solid var(--border);border-radius:0;min-height:56px;font-weight:550;background:var(--surface)}.picker-list button:last-child{border-bottom:0}.picker-list .grp{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.55rem .7rem .3rem;background:var(--surface-2);border-bottom:1px solid var(--border)}.task-row{display:flex;gap:.7rem;align-items:flex-start;padding:.8rem .15rem;min-height:60px;color:var(--text);text-decoration:none}.task-row .prio{margin-top:.45rem}.task-row .meta{display:flex;flex-wrap:wrap;gap:.35rem .6rem;margin-top:.25rem;font-size:.84rem;color:var(--muted);align-items:center}.due.bad{color:var(--bad);font-weight:650}.due.warn{color:var(--warn);font-weight:650}.md{overflow-wrap:anywhere}.md p{margin:.45rem 0}.md h3,.md h4,.md h5{margin:.9rem 0 .35rem}.md ul,.md ol{padding-left:1.3rem;margin:.4rem 0}.md li{margin:.2rem 0}.md code{font-family:var(--mono);font-size:.88em;background:var(--surface-2);padding:.05rem .25rem;border-radius:var(--radius)}.md pre{background:var(--surface-2);padding:.6rem;overflow-x:auto;border-radius:var(--radius)}.md pre code{background:none;padding:0}.md blockquote{border-left:3px solid var(--border-strong);margin:.5rem 0;padding:.1rem .7rem;color:var(--muted)}.md hr{border:0;border-top:1px solid var(--border)}.checklist{list-style:none;padding:0;margin:0}.checklist li{border-bottom:1px solid var(--border)}.checklist label{display:flex;gap:.7rem;align-items:center;margin:0;padding:.55rem .1rem;min-height:var(--tap);font-weight:500}.checklist .done-text{color:var(--muted);text-decoration:line-through}.thread{display:flex;flex-direction:column;gap:.55rem}.msg{padding:.55rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere}.msg.mine{background:var(--surface-2)}.msg.question{border-left:4px solid var(--accent)}.msg.system{border:0;background:none;color:var(--muted);font-size:.86rem;padding:.1rem .2rem;font-family:var(--mono)}.msg .who{font-size:.8rem;color:var(--muted);margin-bottom:.15rem}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.4rem}.photos a{display:block;aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}.photos img{width:100%;height:100%;object-fit:cover;display:block}.res{display:flex;gap:.6rem;align-items:center;padding:.65rem .1rem;min-height:52px;border-bottom:1px solid var(--border)}.res:last-child{border-bottom:0}.res .grow{overflow-wrap:anywhere}.res .kind{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);width:3.2rem;flex:none}.thumb{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;flex:none;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text);text-decoration:none}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .pdf{font-family:var(--mono);font-weight:600;font-size:.8rem;letter-spacing:.08em}.receipt-full{display:block;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);text-align:center}.receipt-full img{display:block;max-width:100%;max-height:320px;margin:0 auto}.receipt-full .pdf{display:block;padding:1.2rem;font-family:var(--mono);font-weight:600}.sheet-backdrop{position:fixed;inset:0;background:#0a090873;z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:92vh;overflow-y:auto;border-radius:6px 6px 0 0;border-top:3px solid var(--accent);padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))}.sheet-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;position:sticky;top:-1rem;background:var(--bg);padding:.4rem 0;z-index:2}.sheet-head h2{margin:0}@media(min-width:900px){.sheet-backdrop{align-items:center}.sheet{border-radius:4px}}
