:root{--bg: #ffffff;--card: #ffffff;--ink: #2b2b2b;--text: #525252;--soft: #8a8a8a;--line: #ece6e8;--blush: #f2ccdb;--blush-bg: #fbf1f5;--plum: #794577;--plum-bg: #f6eef5;--sage: #6f7f69;--sage-bg: #f1f3ef;--alert: #a3324b;--alert-bg: #fcf3f5;--serif: "Playfair Display", Georgia, "Times New Roman", serif;--sans: "Barlow", "DIN Next", -apple-system, "Helvetica Neue", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{font:300 17px/1.45 var(--sans);-webkit-text-size-adjust:100%}button{font:inherit;color:inherit;cursor:pointer}.app{max-width:680px;margin:0 auto;padding:0 16px 96px}.top{position:sticky;top:0;z-index:2;background:#fffffff0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(14px,env(safe-area-inset-top)) 0 12px;border-bottom:1px solid var(--blush)}.top h1{font:italic 400 22px/1.1 var(--serif);color:var(--ink);margin:0;display:flex;flex-direction:column}.top h1 small{font:400 10px/1.6 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--soft);font-style:normal}.tabs{display:flex;gap:18px}.tabs button{border:0;background:none;padding:6px 0;font:italic 400 16px var(--serif);color:var(--soft);border-bottom:1px solid transparent}.tabs button.on{color:var(--ink);border-bottom-color:var(--plum)}.day{margin-top:30px}.day h2{font:italic 400 20px var(--serif);color:var(--ink);margin:0 0 12px;display:flex;align-items:center;gap:10px}.day h2:after{content:"";flex:1;height:1px;background:var(--blush)}.attention h2{color:var(--alert)}.count{font:500 13px var(--sans);background:var(--alert);color:#fff;border-radius:99px;padding:1px 9px;font-style:normal}.empty{color:var(--soft);margin:0;padding:2px 0 6px;font-style:italic}.tag{align-self:flex-start;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--plum);border:1px solid var(--blush);border-radius:2px;padding:0 5px}.warn{color:var(--alert);font-weight:500;font-size:15px}.hint{color:var(--soft);font-size:15px}.lab{position:fixed;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:8px 16px max(8px,env(safe-area-inset-bottom));background:var(--plum-bg);border-top:1px solid var(--blush);color:var(--plum);font-size:14px}.seg{display:flex;gap:2px;border:1px solid var(--blush);border-radius:3px;padding:2px;background:#fff}.seg button{border:0;background:none;padding:4px 12px;border-radius:2px;color:var(--plum)}.seg button.on{background:var(--plum);color:#fff}.link{background:none;border:0;text-decoration:underline;color:inherit;padding:4px}.print{margin-left:auto;order:3;font:400 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;background:none;border:1px solid var(--line);color:var(--soft);padding:3px 10px;border-radius:2px}.fab{position:fixed;right:max(16px,calc(50% - 324px));bottom:70px;z-index:3;background:var(--ink);color:#fff;border:0;border-radius:99px;padding:15px 24px;font:500 16px var(--sans);letter-spacing:.04em;box-shadow:0 6px 20px #0000002e}.btn{background:var(--ink);color:#fff;border:0;border-radius:3px;padding:14px 22px;font:500 15px var(--sans);letter-spacing:.06em;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn[disabled]{opacity:.35}.btn.ghost{background:#fff;color:var(--plum);border:1px solid var(--blush)}.btn.wide{width:100%;margin-top:20px}.soft{color:var(--soft)}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#2b2b2b47;display:flex;align-items:flex-end;justify-content:center}.sheet{background:#fff;width:100%;max-width:640px;max-height:92dvh;display:flex;flex-direction:column;border-radius:14px 14px 0 0;box-shadow:0 -8px 30px #0000001f}@media (min-width: 700px){.sheet-bg{align-items:center}.sheet{border-radius:6px}}.sheet header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 10px;border-bottom:1px solid var(--blush)}.sheet h2{margin:0;font:italic 400 22px var(--serif);color:var(--ink)}.sheet .x{border:0;background:none;font-size:20px;color:var(--soft);padding:4px 8px}.sheet-body{overflow-y:auto;padding:16px 20px;display:grid;gap:14px}.sheet footer{padding:12px 20px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;gap:6px}.sheet footer .btn{width:100%}.sheet .big{font-size:20px;color:var(--ink);margin:0}.field{display:grid;gap:5px}.field>span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}.field small{color:var(--soft);font-size:13px}.field input,.field textarea,.picker input{font:400 17px var(--sans);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:11px 12px;width:100%;background:#fff}.field input:focus,.field textarea:focus,.picker input:focus{outline:none;border-color:var(--plum)}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-days,.weekdays,.chips{display:flex;flex-wrap:wrap;gap:8px}.quick-days button,.weekdays button,.chips button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 14px;font-size:15px;color:var(--ink)}.quick-days button.on,.weekdays button.on{background:var(--plum);border-color:var(--plum);color:#fff}.chips{margin-top:10px;max-height:210px;overflow-y:auto}.chips .new{border-style:dashed;color:var(--plum)}.picked{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.picked strong{font:700 20px var(--serif);color:var(--ink)}.photo-in img,.note-photo{width:100%;max-height:320px;object-fit:contain;background:var(--blush-bg);border-radius:3px}.photo-in label.btn{width:100%;cursor:pointer}.danger{padding-top:6px;border-top:1px solid var(--line)}.danger .link{color:var(--alert)}.rules h3{font:italic 400 18px var(--serif);color:var(--ink);margin:8px 0}.rules{display:grid;gap:8px}.rule-row{text-align:left;display:grid;gap:2px;padding:10px 12px;border:0;border-left:2px solid var(--blush);background:var(--blush-bg);color:var(--ink);font-size:15px}.rule-row.ended{opacity:.5}.rule-row small{color:var(--soft)}.warn{color:var(--alert)}.print-sheet{padding:24px;font-size:13px;color:#000}.print-sheet header{border-bottom:1px solid #000;margin-bottom:12px}.print-sheet .eyebrow{font-size:10px;letter-spacing:.3em;text-transform:uppercase;margin:0}.print-sheet h1{font:italic 400 26px var(--serif);margin:4px 0}.print-sheet table{width:100%;border-collapse:collapse}.print-sheet th{text-align:left;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #999;padding:6px 6px 6px 0}.print-sheet td{vertical-align:top;padding:9px 8px 9px 0;border-bottom:1px solid #ddd}.print-sheet tr{break-inside:avoid}.print-sheet .soft{color:#555;font-size:12px}.print-sheet .box{width:26px}.print-sheet .box:after{content:"";display:block;width:16px;height:16px;border:1px solid #000}@media print{.top nav,.lab,.fab,.t-act{display:none}.app{padding:0;max-width:none}}.lab.sync{background:#fff;color:var(--soft);justify-content:space-between;font-size:13px}.lab.sync.synced .sync-line{color:var(--sage)}.lab.sync.waiting .sync-line,.lab.sync.syncing .sync-line{color:var(--plum)}.lab.sync.offline,.lab.sync.error{background:var(--alert-bg)}.lab.sync.offline .sync-line,.lab.sync.error .sync-line{color:var(--alert);font-weight:500}.sync-line{display:flex;gap:8px;align-items:center}.who{color:var(--soft)}.signed-out{max-width:420px;margin:18vh auto 0;padding:0 24px;text-align:center}.signed-out h1{font:italic 400 30px var(--serif);color:var(--ink);display:flex;flex-direction:column;gap:4px}.signed-out h1 small{font:400 11px var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--soft);font-style:normal}.person{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.person small{display:block;color:var(--soft);font-size:13px}.person.off{opacity:.5}.danger-link{color:var(--alert)}.add-person{display:grid;gap:12px;padding-top:8px}.add-person h3{font:italic 400 18px var(--serif);color:var(--ink);margin:6px 0 0}.linkbox{display:block;word-break:break-all;background:var(--blush-bg);padding:12px;border-radius:3px;font-size:13px}.month-nav{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.month-nav h2{font:italic 400 24px var(--serif);color:var(--ink);margin:0}.month-nav>button{border:1px solid var(--line);background:#fff;border-radius:99px;width:40px;height:40px;font-size:20px;color:var(--plum);flex:none}.mline{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}.mline.small{font-size:14px;color:var(--soft);padding:4px 0}.mline .link{white-space:nowrap;color:var(--plum)}.inv-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.inv-head strong{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}.invoice{cursor:default}.qbo{margin-top:24px;padding:16px;border:1px solid var(--blush);background:var(--blush-bg);border-radius:4px;display:grid;gap:10px}.qbo p{margin:0;font-size:14px}@media (max-width: 420px){.top h1{font-size:18px;white-space:nowrap}.tabs{gap:12px}.tabs button{font-size:15px}}.gear{border:0;background:none;font-size:20px;color:var(--soft);padding:4px 0 4px 8px}.top{gap:10px}.top .tabs{margin-left:auto}.wide-seg{display:flex;margin:20px 0 6px}.wide-seg button{flex:1;padding:9px 0}.cal-title{text-align:center;display:grid;gap:2px}.cal-title h2{font:italic 400 22px var(--serif);color:var(--ink);margin:0}.filters{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 6px;align-items:center}.filters button,.filters select{border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 12px;font:400 14px var(--sans);color:var(--ink)}.filters button.on{background:var(--plum);border-color:var(--plum);color:#fff}.filters select{max-width:170px}.jline{width:100%;display:grid;grid-template-columns:72px 1fr auto;grid-template-areas:"when who done" "when what done";text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:8px 0;gap:0 10px;color:var(--text)}.jl-when{grid-area:when;font-size:14px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.jl-who{grid-area:who;font:700 15px var(--serif);color:var(--ink)}.jl-what{grid-area:what;font-size:14px;color:var(--soft)}.jl-done{grid-area:done;color:var(--sage);align-self:center}.jline.delivered{opacity:.6}.jline.skipped .jl-who{text-decoration:line-through}.mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:12px}.mg-head{text-align:center;font-size:12px;letter-spacing:.1em;color:var(--soft);padding:4px 0}.mg-day{aspect-ratio:1 / 1.15;border:1px solid var(--line);background:#fff;border-radius:3px;padding:4px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;overflow:hidden;text-align:left}.mg-day.out{opacity:.35}.mg-day.is-today{border-color:var(--plum);box-shadow:inset 0 0 0 1px var(--plum)}.mg-n{font-size:13px;color:var(--ink);font-weight:500}.search{width:100%;margin:12px 0 4px;font:400 16px var(--sans);padding:10px 12px;border:1px solid var(--line);border-radius:3px}.list{display:grid}.lhead{font:italic 400 18px var(--serif);color:var(--ink);margin:18px 0 4px}.cline{display:grid;gap:2px;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 0}.cl-name{font:700 17px var(--serif);color:var(--ink)}.cl-sub{font-size:14px;color:var(--soft)}.cl-meta{display:flex;gap:10px;align-items:center;font-size:13px;flex-wrap:wrap}.btn.big{min-height:54px;font-size:16px;width:100%}.btn.small{padding:8px 12px;font-size:14px}.btn.wa{background:#1f9d55;color:#fff}.small{font-size:13px}.more-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.field.grow{flex:1}.is-driver .fab{display:none}.stop{border:1px solid var(--line);border-radius:4px;padding:16px;margin:12px 0;display:grid;gap:6px;background:#fff}.stop.done{background:var(--sage-bg);border-color:#d5dbd1}.stop-addr{font:500 20px/1.25 var(--sans);color:var(--ink);text-decoration:none}.stop-name{margin:0;font:700 17px var(--serif);color:var(--ink)}.stop-what{margin:0;color:var(--text)}.stop .link.small{justify-self:center;color:var(--soft)}.stop-done{display:grid;gap:8px}.stop-done img{width:100%;max-height:260px;object-fit:cover;border-radius:3px}.switch{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.switch strong{display:block;color:var(--ink);font-weight:500}.switch small{display:block;color:var(--soft);font-size:13px}.switch input{width:22px;height:22px;accent-color:var(--plum);flex:none}:root{--plum: #9a5a74;--accent: #f2ccdb;--accent-strong: #e9b3c8}.tabs button.on{border-bottom-color:var(--accent-strong);border-bottom-width:2px}.seg button.on,.quick-days button.on,.weekdays button.on,.filters button.on{background:var(--accent);border-color:var(--accent-strong);color:var(--ink);box-shadow:none;font-weight:500}.seg{border-color:var(--accent)}.seg button,.lab .seg button{color:var(--text)}.lab .seg button.on{background:var(--accent);color:var(--ink)}.lab{background:#fdf6f9;color:var(--text)}.mg-day.is-today{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong)}.tag{color:var(--plum);border-color:var(--accent)}.btn.ghost{color:var(--ink);border-color:var(--accent-strong)}.month-nav>button{color:var(--ink);border-color:var(--accent)}.fab{background:var(--accent);color:var(--ink);box-shadow:0 6px 20px #9a5a7440}.input-focus,.field input:focus,.field textarea:focus,.picker input:focus{border-color:var(--accent-strong)}.cal-title .link{width:auto;height:auto;border:0;border-radius:0;font-size:14px;padding:0;color:var(--plum)}.signed-out .paste{display:grid;gap:10px;margin:18px 0 8px}.signed-out .paste input{font:400 16px var(--sans);padding:12px;border:1px solid var(--line);border-radius:6px;width:100%}.signed-out .paste .btn{width:100%}.undo-bar{position:fixed;left:max(16px,calc(50% - 324px));bottom:70px;z-index:6;max-width:min(420px,calc(100% - 32px));display:flex;align-items:center;gap:16px;padding:12px 14px 12px 18px;border-radius:6px;background:var(--ink);color:#fff;font-size:15px;box-shadow:0 6px 20px #0000002e}.undo-bar span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-bar button{border:1px solid rgb(255 255 255 / .5);background:none;color:#fff;border-radius:4px;padding:5px 14px;font-weight:500}.app:has(.undo-bar) .fab{bottom:128px}@media print{.undo-bar{display:none}}.hsection{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.hsection h3{font:italic 400 18px var(--serif);color:var(--ink);margin:0 0 8px}.history{list-style:none;margin:0;padding:0;display:grid;gap:10px}.hentry{border-left:2px solid var(--blush);padding:2px 0 2px 12px;font-size:15px}.h-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:var(--soft);font-size:13px}.h-head .link{color:var(--plum);font-size:14px}.h-name{display:block;padding:0;text-align:left;color:var(--ink);font-weight:500;text-decoration:none}.h-what{margin:2px 0 0;color:var(--text);overflow-wrap:anywhere}.h-what s,.h-f{color:var(--soft)}.tag.event{background:#9a3366;color:#fff;border-color:#9a3366}.jline.t-event .jl-who{color:#9a3366;font-weight:500}.vip{display:inline-block;margin-left:8px;padding:0 6px;border-radius:3px;vertical-align:2px;font:600 10px/1.7 var(--sans);letter-spacing:.12em;background:var(--ink);color:#fff;font-style:normal}.hand{margin:0;color:var(--ink)}.type-seg{margin:0 0 4px}.type-seg button{flex:1;padding:7px 0}.check{display:flex;gap:10px;align-items:center;padding:4px 0;color:var(--ink)}.check input{width:20px;height:20px;accent-color:var(--plum);flex:none}.pieces{gap:6px}.piece{display:grid;grid-template-columns:56px 1fr 34px;gap:6px;align-items:center}.piece.with-price{grid-template-columns:56px 1fr 90px 34px}.piece input{min-width:0}.piece .x{border:0;background:none;color:var(--soft);font-size:15px;padding:6px}.pieces-foot{display:flex;justify-content:space-between;align-items:baseline}.pieces-foot .link{padding-left:0;color:var(--plum)}.stop-items{list-style:none;margin:0;padding:0;display:grid;gap:4px;color:var(--text)}.stop-items li.done{color:var(--soft);text-decoration:line-through}.stop-items .link.small{margin-left:8px;color:var(--plum)}.stop-more{display:flex;justify-content:center;gap:18px}.company .cline{padding-left:14px}.stop-items .vip{margin:0 6px 0 0}.from-web h2{color:#9a3366}.from-web .count{background:#9a3366}.request{border:1px solid var(--line);border-left:4px solid #9a3366;border-radius:4px;padding:14px 16px;margin-bottom:12px;background:#fff}.request.is-new{background:#fbf3f7}.request header{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}.tag.web{background:#fff;color:#9a3366;border-color:#d6adc2}.request h3{margin:6px 0 8px;font:700 18px/1.3 var(--serif);color:var(--ink)}.request dl{margin:0 0 10px;display:grid;grid-template-columns:1fr;gap:3px}.request dl div{display:grid;grid-template-columns:110px 1fr;gap:10px}.request dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);padding-top:3px}.request dd{margin:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.req-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.req-act .btn{padding:9px 16px;text-decoration:none}.req-act .link{color:var(--soft)}.day-n{font:400 14px var(--sans)}.later-day .lhead{display:flex;align-items:baseline;gap:6px;font-size:17px;margin:14px 0 2px}.later-day .lhead .print{margin-left:auto}.top-new{display:none}kbd{font:500 11px var(--sans);border:1px solid rgb(0 0 0 / .2);border-radius:3px;padding:0 5px;margin-left:6px;opacity:.7}@media (min-width: 1100px){.app{max-width:1480px;padding:0 36px 80px}.top{padding:18px 0 14px}.top h1{font-size:26px}.tabs{gap:28px}.tabs button{font-size:18px}.top-new{display:inline-flex;padding:10px 18px;background:var(--accent);color:var(--ink)}.fab{display:none}.app>main:not(.board){max-width:980px;margin:0 auto}.board{display:grid;grid-template-columns:minmax(300px,1fr) minmax(460px,1.55fr) minmax(280px,1fr);gap:0 40px;align-items:start}.board .numbers{grid-column:1 / -1}.board .col{min-width:0}.board .col-needs,.board .col-later{position:sticky;top:84px;max-height:calc(100vh - 150px);overflow-y:auto;padding-right:6px}.board .day{margin-top:22px}.undo-bar{left:36px}}.cal-bar{display:grid;gap:10px;margin-top:18px}.cal-bar>.seg{justify-self:center}.cal-bar>.seg button{padding:7px 26px}.cal-bar .month-nav{margin-top:0}.cal-bar .filters{justify-content:center;margin:0}.chip{display:grid;gap:1px;width:100%;text-align:left;padding:7px 9px 8px;margin:0 0 6px;border:1px solid var(--line);border-left:3px solid var(--line);border-radius:3px;background:#fff;font-size:14px;line-height:1.3}.chip .c-time{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums}.chip .c-who{font:700 15px/1.25 var(--serif);color:var(--ink);overflow-wrap:anywhere}.chip .c-what{color:var(--text);overflow-wrap:anywhere}.chip .vip{font-size:9px;margin-left:5px}.chip.k-event{border-left-color:#9a3366;background:#fbf3f7}.chip.k-event .c-who{color:#9a3366}.chip.k-oneoff{border-left-color:var(--accent-strong);background:var(--blush-bg)}.chip.k-visit{background:#f7f7f7}.chip.k-visit .c-who{font-weight:400}.chip.problem{border-color:var(--alert);border-left-color:var(--alert)}.chip.s-delivered{opacity:.5}.chip.s-delivered .c-time{color:var(--sage);font-weight:500}.chip.skipped{opacity:.45}.chip.skipped .c-who{text-decoration:line-through}.week-cols{display:grid;gap:12px;margin-top:14px}.wcol{border-top:2px solid var(--line);padding-top:4px}.wcol.is-today{border-top-color:#9a3366}.wcol.past .wcol-body{opacity:.75}.wcol-head{width:100%;display:flex;align-items:baseline;gap:8px;background:none;border:0;padding:6px 0 8px;text-align:left}.w-name{font:italic 400 18px var(--serif);color:var(--ink)}.w-date{font:500 18px var(--sans);color:var(--ink)}.wcol.is-today .w-name,.wcol.is-today .w-date{color:#9a3366}.w-count{margin-left:auto;font-size:12px;color:var(--soft)}.mgrid{gap:3px;margin-top:14px;grid-template-columns:repeat(7,minmax(0,1fr))}.mg-day{min-width:0;aspect-ratio:auto}.mg-day{min-height:74px;display:flex;flex-direction:column;align-items:stretch;gap:2px;text-align:left;padding:5px 6px;overflow:hidden}.mg-day.problem{border-color:var(--alert)}.mg-items{display:grid;gap:2px}.mg-item{display:none;font-size:12px;line-height:1.25;padding:1px 4px;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mg-item.k-event{background:#9a3366;color:#fff}.mg-item.k-oneoff{background:var(--blush-bg);color:var(--ink)}.mg-more,.mg-routine{display:none;font-size:11px;color:var(--soft)}.mg-dots{display:flex;gap:3px;margin-top:auto}.mg-dots i{width:7px;height:7px;border-radius:99px;background:var(--line)}.mg-dots i.k-event{background:#9a3366}.mg-dots i.k-oneoff{background:var(--accent-strong)}.mg-dots i.k-weekly{background:#cfcfcf}.month-events{margin-top:26px}@media (min-width: 760px){.mg-day{min-height:104px;aspect-ratio:auto}.mg-item,.mg-more,.mg-routine{display:block}.mg-dots{display:none}}@media (min-width: 1100px){.app>main.calendar{max-width:none}.cal-bar{grid-template-columns:auto 1fr auto;align-items:center}.cal-bar .filters{justify-content:flex-end}.week-cols{grid-template-columns:repeat(7,minmax(0,1fr));gap:0 10px;align-items:start}.wcol{min-height:60vh}.wcol-head{flex-wrap:wrap;row-gap:0}.w-count{margin-left:0;width:100%}.mg-day{min-height:128px}.mg-item{font-size:13px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.m-month .mgrid,.m-month .month-events{max-width:1240px;margin-left:auto;margin-right:auto}}.orderbox{margin-top:18px;border:1px solid var(--accent-strong);border-radius:6px;background:#fff;padding:10px 12px;display:grid;gap:8px;box-shadow:0 2px 10px #9a5a7414}.orderbox textarea{width:100%;border:0;resize:vertical;font:300 17px/1.45 var(--sans);color:var(--ink);background:transparent;padding:4px 2px;min-height:30px}.orderbox textarea:focus{outline:none}.orderbox:not(.is-open) .ob-act .btn:not(.mic),.orderbox:not(.is-open) .ob-act .link{display:none}.orderbox:not(.is-open){grid-template-columns:1fr auto;align-items:center}.ob-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ob-act .grow{flex:1}.ob-act .btn{padding:9px 16px}.ob-act .btn.mic.on{background:var(--alert);color:#fff;border-color:var(--alert)}.ob-act .link.small{color:var(--soft);font-size:13px}.board .orderbox{grid-column:1 / -1}.filled-from{background:var(--blush-bg);border-left:3px solid var(--accent-strong);padding:8px 12px;border-radius:3px;font-size:15px}.filled-from p{margin:0 0 4px}.source{white-space:pre-wrap;font:400 13px/1.45 ui-monospace,Menlo,monospace;background:#fafafa;border:1px solid var(--line);padding:10px;border-radius:3px;max-height:220px;overflow:auto;margin:6px 0 0}details.field summary{cursor:pointer;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}.orderbox:not(.is-open) textarea{resize:none;overflow:hidden;white-space:nowrap}.print-kinds{display:grid;gap:8px}.print-kind{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:4px;cursor:pointer}.print-kind.on{border-color:var(--accent-strong);background:var(--blush-bg)}.print-kind input{margin-top:4px;accent-color:var(--plum)}.print-kind strong{display:block;color:var(--ink);font-weight:500}.print-kind small{display:block;color:var(--soft);font-size:13px}.top-print{display:none;color:var(--plum);text-decoration:none}@media (min-width: 1100px){.top-print{display:inline}}.soft.small{font-size:13px}.print-view{background:#fff;color:#111;font:400 12pt/1.35 var(--sans);max-width:8.5in;margin:0 auto;padding:.4in}.p-page{break-after:page}.p-page:last-child{break-after:auto}.p-head{border-bottom:1px solid #111;margin-bottom:12px;padding-bottom:6px}.p-head .eyebrow{margin:0;font-size:8pt;letter-spacing:.3em;text-transform:uppercase;color:#555}.p-head h1{margin:2px 0;font:italic 400 22pt var(--serif)}.p-head p{margin:0;color:#444}.p-table{width:100%;border-collapse:collapse}.p-table th{text-align:left;font-size:8pt;letter-spacing:.14em;text-transform:uppercase;color:#555;border-bottom:1px solid #999;padding:4px 6px}.p-table td{vertical-align:top;padding:7px 6px;border-bottom:1px solid #ddd}.p-table tr{break-inside:avoid}.p-table.compact td{padding:4px 6px;font-size:10.5pt}.p-table .soft{color:#555;font-size:9.5pt}.p-table .nowrap{white-space:nowrap}.print-view .box{width:22px}.print-view .box:after,.p-todo .box{content:"";display:block;width:14px;height:14px;border:1.2px solid #111}.p-day{break-inside:avoid;margin-bottom:12px}.p-day h2{font:italic 400 14pt var(--serif);margin:10px 0 4px}.p-day h2 span{font:400 10pt var(--sans);color:#666}.p-todo{list-style:none;padding:0;margin:0}.p-todo li{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid #ddd;break-inside:avoid}.p-todo .box{margin-top:3px}.p-todo p{margin:2px 0 0;color:#333}.p-stickers{display:grid;grid-template-columns:repeat(2,3.75in);grid-auto-rows:1.95in;width:7.5in;margin:0 auto;break-after:page}.p-stickers:last-child{break-after:auto}.sticker{border:1px dashed #999;margin:-.5px;padding:.16in .2in;display:flex;flex-direction:column;gap:2px;overflow:hidden}.s-brand{margin:0;font-size:7pt;letter-spacing:.3em;text-transform:uppercase;color:#9a3366}.s-to{margin:0;font:italic 400 17pt/1.15 var(--serif)}.s-to span{font:600 8pt var(--sans);letter-spacing:.1em}.s-client{margin:0;font-size:9pt;color:#555}.s-card{margin:2px 0;font:italic 400 11pt/1.25 var(--serif)}.s-what{margin:0;font-size:9pt;color:#333}.s-foot{margin:auto 0 0;display:flex;justify-content:space-between;gap:8px;font-size:8pt;color:#555}.s-foot span:last-child{text-align:right}@media print{@page{size:letter;margin:.5in}.print-view{padding:0;max-width:none}.p-stickers{page-break-inside:avoid}}.p-back{display:flex;gap:10px;justify-content:flex-end;margin-bottom:18px}@media print{.no-print{display:none!important}}.giveout{border:1px solid var(--line);border-radius:4px;padding:10px 14px 12px;margin:0 0 12px;background:#fff}.giveout h3{margin:0 0 6px;font:italic 400 17px var(--serif);color:var(--ink)}.give-row{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;align-items:center;padding:5px 0;border-top:1px solid var(--line)}.give-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}.give-now{display:flex;flex-wrap:wrap;gap:6px;font-size:14px}.give-chip{background:var(--blush-bg);border-radius:99px;padding:1px 9px;color:var(--ink)}.give-chip.none{background:#fff3f3;color:var(--alert)}.give-now .ok{color:var(--sage)}.give-form{grid-column:2;display:flex;gap:6px}.give-form input{flex:1;min-width:0;font:300 15px var(--sans);padding:7px 10px;border:1px solid var(--line);border-radius:3px}.give-form .btn{padding:7px 12px;white-space:nowrap}.ask{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 6px 6px 14px;border:1px solid var(--accent-strong);border-radius:3px;background:var(--blush-bg)}.ask-q{flex:1;font-weight:500;color:var(--ink)}.ask-no{color:var(--soft);white-space:nowrap}.ask-yes{padding:10px 18px;white-space:nowrap}.ask.small{min-height:0;padding:4px 4px 4px 10px;font-size:14px;gap:8px}.ask.small .ask-yes{padding:6px 12px;font-size:14px}.stop-more:has(.ask){display:grid}.stop-items .ask{display:inline-flex;margin-left:8px}.where-box{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--accent-strong);border-radius:3px;background:var(--blush-bg)}.where-box strong{font:500 18px/1.3 var(--sans);color:var(--ink)}.where-box .link,.where-field small .link{color:var(--plum);padding:0}.where-field input{font-size:18px}.give-row{grid-template-columns:90px minmax(0,1fr)}.fold-all{display:flex;justify-content:flex-end;gap:14px;margin:10px 0 -4px;font-size:13px}.fold-all .link{color:var(--soft);padding:2px 0}.week-cols{gap:0}.wcol{border-top:1px solid var(--line);padding:0}.wcol:last-child{border-bottom:1px solid var(--line)}.wcol.is-today{border-top:2px solid #9a3366}.wcol-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:12px 2px;cursor:pointer}.w-fold{width:14px;color:var(--soft);font-size:13px}.wcol.has-problem .w-fold{color:var(--alert)}.w-sum{width:100%;display:flex;flex-wrap:wrap;gap:3px 10px;padding-left:22px;font-size:13px;line-height:1.35}.w-item{color:var(--ink)}.w-item.k-event{color:#9a3366;font-weight:500}.w-routine{color:var(--soft)}.w-sum .bad{color:var(--alert);font-weight:500}.w-sum .ok{color:var(--sage)}.wcol.past.folded .wcol-head{opacity:.6}.wcol-body{padding:0 0 14px}.w-make{margin:8px 0 0;padding:8px 10px;background:#fcfbf7;border:1px solid var(--line);border-radius:3px}.w-make h4{margin:0 0 4px;font:italic 400 15px var(--serif);color:var(--ink)}.w-make h4 .soft{font:300 12px var(--sans);margin-left:4px}.w-make ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:14px}.w-make li{display:grid;grid-template-columns:22px 1fr;gap:6px}.w-make li b{font-weight:500;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.w-make li.done{opacity:.45;text-decoration:line-through}.w-print{margin:10px 0 0;display:block}@media (min-width: 1100px){.fold-all{margin:4px 0 6px}.week-cols{gap:0 10px}.wcol,.wcol:last-child{border-bottom:0;border-top:2px solid var(--line);min-height:60vh}.wcol.is-today{border-top-color:#9a3366}.wcol-head{padding:8px 0}.w-count{margin-left:22px;width:auto}.wcol.folded{background:#faf8f9;border-radius:0 0 3px 3px}.wcol.folded .wcol-head{writing-mode:vertical-rl;flex-wrap:nowrap;align-items:center;gap:10px;padding:10px 0;height:100%;min-height:60vh;width:100%}.wcol.folded .w-sum{display:none}.wcol.folded .w-count{margin:0}.wcol.folded .w-name,.wcol.folded .w-date{font-size:16px}}.mg-num{align-self:flex-start;font-size:12px;font-weight:500;line-height:1.5;padding:0 7px;border-radius:99px;background:var(--blush-bg);color:var(--ink)}.mg-day.past .mg-num{background:#f3f3f3;color:var(--soft)}.mg-day.picked{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:var(--blush-bg)}.mg-day.picked .mg-num{background:#fff}.mg-day{cursor:pointer}.picked-day{margin-top:18px}.picked-day h2{flex-wrap:wrap}.picked-chips{display:grid;gap:0}.see-week{color:var(--plum);font-size:14px;padding:8px 0 0}@media (min-width: 760px){.mg-num{display:none}.picked-chips{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 10px}}.book-bar{display:grid;gap:8px;margin:10px 0 4px}.book-chips{display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:1px 0}.book-chips::-webkit-scrollbar{display:none}.book-label{flex:none;width:46px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}.bchip{flex:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:99px;padding:6px 12px;font:400 14px var(--sans);color:var(--ink)}.bchip .n{font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums}.bchip.gap-chip{border-color:#ecc5cf;color:var(--alert)}.bchip.on{background:var(--accent);border-color:var(--accent-strong);color:var(--ink);font-weight:500}.bchip.on .n{color:var(--ink)}.bchip.k-event:not(.on){color:#9a3366}.book-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}.book-foot .link{color:var(--plum);margin-left:8px}.book-sort{display:inline-flex;align-items:center;gap:8px}.book-sort select{font:400 14px var(--sans);color:var(--ink);border:1px solid var(--accent-strong);border-radius:99px;padding:6px 12px;background:#fff}.book-group .lhead.bad{color:var(--alert)}.brow{border-top:1px solid var(--line);padding:10px 0}.brow.late{background:linear-gradient(90deg,var(--alert-bg),transparent 70%)}.brow-main{width:100%;display:grid;grid-template-columns:92px minmax(0,1fr);grid-auto-flow:row;gap:1px 12px;text-align:left;background:none;border:0;padding:0;color:var(--text);cursor:pointer}.brow-main>:not(.b-when){grid-column:2}.b-when{grid-row:1 / span 3;font-size:14px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;padding-top:1px}.b-who{font:700 16px/1.3 var(--serif);color:var(--ink)}.b-who .tag{margin-left:8px;vertical-align:2px;font:400 10px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase}.brow.k-event .b-who{color:#9a3366}.b-sub,.b-where,.b-team{font-size:14px;color:var(--soft)}.b-what{font-size:15px;color:var(--ink)}.b-gaps{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0 104px}.gap{border:1px dashed var(--alert);background:#fff;color:var(--alert);border-radius:99px;padding:4px 11px;font:500 13px var(--sans)}button.gap{cursor:pointer}.gap.on{background:var(--alert);color:#fff;border-style:solid}span.gap.late{border-style:solid;background:var(--alert-bg)}.qfix{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 2px 104px;padding:8px;background:var(--blush-bg);border:1px solid var(--accent-strong);border-radius:4px}.qfix input{flex:1;min-width:140px;font:400 16px var(--sans);color:var(--ink);padding:8px 10px;border:1px solid var(--line);border-radius:3px;background:#fff}.qfix .btn{padding:9px 16px}.qfix .link{color:var(--soft)}.qfix-q{flex:1;font-weight:500;color:var(--ink)}@media (max-width: 520px){.brow-main{grid-template-columns:74px minmax(0,1fr);gap:1px 10px}.b-gaps,.qfix{margin-left:0}}@media (min-width: 1100px){.book-chips{flex-wrap:wrap;overflow:visible}.brow-main{grid-template-columns:130px minmax(0,1.3fr) minmax(0,1fr)}.b-where{grid-column:3!important;grid-row:1}.b-team{grid-column:3!important;grid-row:2}.b-gaps,.qfix{margin-left:142px}}@media (max-width: 420px){.wide-seg button{font-size:14px;padding:9px 2px}}.numbers{margin-top:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.n-day{margin:0 0 10px;font:italic 400 22px var(--serif);color:var(--ink)}.n-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.n-tile{display:grid;justify-items:center;gap:0;padding:8px 4px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}.n-tile b{font:italic 400 34px/1.05 var(--serif);color:var(--ink)}.n-tile span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);white-space:nowrap}.n-tile.ok b{color:var(--sage)}.n-tile.bad{border-color:var(--alert);background:var(--alert-bg)}.n-tile.bad b,.n-tile.bad span{color:var(--alert)}.n-tile.zero{opacity:.5}.today-day h2{flex-wrap:wrap}.progress{height:4px;border-radius:99px;background:var(--line);margin:-4px 0 12px;overflow:hidden}.progress i{display:block;height:100%;background:var(--sage);border-radius:99px}.tgroup{margin:16px 0 0}.tgroup h3,.tgroup-fold{display:flex;align-items:baseline;gap:8px;margin:0 0 4px;padding:0;border:0;background:none;font:italic 400 18px var(--serif);color:var(--ink)}.tgroup-fold{cursor:pointer;width:100%;text-align:left}.tgroup-fold span[aria-hidden]{font:13px var(--sans);color:var(--soft);width:12px}.tgroup-fold .soft{font:300 13px var(--sans)}.count-soft{font:500 12px var(--sans);color:var(--soft);background:#f3f1f2;border-radius:99px;padding:1px 8px;font-style:normal}.added-up{list-style:none;margin:4px 0 6px;padding:8px 10px;display:flex;flex-wrap:wrap;gap:4px 14px;background:#fcfbf7;border:1px solid var(--line);border-radius:4px;font-size:14px;color:var(--ink)}.added-up b{font-weight:600;margin-right:5px;font-variant-numeric:tabular-nums}.trow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.trow:has(.ask){grid-template-columns:minmax(0,1fr)}.t-main{display:grid;grid-template-columns:58px minmax(0,1fr);gap:1px 10px;text-align:left;background:none;border:0;padding:0;color:var(--text);cursor:pointer}.t-main>:not(.t-time){grid-column:2}.t-time{grid-row:1 / span 4;font-size:14px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;padding-top:2px}.t-day{display:block;font-size:12px;color:var(--soft);font-weight:400}.t-who{font:700 16px/1.3 var(--serif);color:var(--ink)}.t-who .tag{margin-left:8px;vertical-align:2px;font:400 10px/1.6 var(--sans)}.t-what{font-size:15px;color:var(--ink)}.t-where,.t-sub,.t-team{font-size:13.5px;color:var(--soft)}.t-note{font-size:14px;font-style:italic;color:var(--ink)}.t-warn{font-size:13.5px;font-weight:500;color:var(--alert)}.trow.problem{border-left:3px solid var(--alert);padding-left:9px;background:linear-gradient(90deg,var(--alert-bg),transparent 80%)}.trow.t-event .t-who{color:#9a3366}.trow.s-delivered .t-main{opacity:.55}.trow.skipped .t-main{opacity:.45}.trow.skipped .t-who{text-decoration:line-through}.t-act .ask{margin-top:2px}.t-btn{min-width:92px;padding:10px 14px;border-radius:99px;border:1px solid var(--accent-strong);background:#fff;font:500 14px var(--sans);color:var(--ink);white-space:nowrap;cursor:pointer}.t-btn.s-ready{background:var(--accent)}.t-btn.done{min-width:0;width:40px;height:40px;padding:0;border-color:#d5dbd1;background:var(--sage-bg);color:var(--sage);font-size:16px}.earlier{border:1px solid #ecc5cf;background:var(--alert-bg);border-radius:4px;padding:12px 14px;margin:0 0 12px}.earlier-head{margin:0 0 8px;display:grid;gap:2px}.earlier-head strong{color:var(--alert);font-weight:500}.earlier-head .soft{font-size:13.5px}.earlier-act{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.earlier-act .btn{padding:9px 16px}.earlier-act .link{color:var(--plum)}.earlier-list{margin-top:8px}.earlier .ask{flex:1}.give-pick{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.give-name{padding:7px 14px;font-size:14px}.give-other{color:var(--plum);font-size:14px}.give-pick .give-form{flex:1;min-width:200px}.giveout .ask.small{flex:1}.req-more{color:var(--plum);font-size:14px;padding:0 0 8px}@media (max-width: 420px){.n-tile b{font-size:28px}.n-tile span{font-size:10px;letter-spacing:.06em}.t-main{grid-template-columns:52px minmax(0,1fr);gap:1px 8px}.t-btn{min-width:80px;padding:9px 10px}.give-row{grid-template-columns:1fr}.give-now,.give-pick{grid-column:1}}@media (min-width: 1100px){.numbers{display:flex;align-items:center;gap:24px}.n-day{margin:0;flex:1}.n-tiles{width:560px}}.t-head h1{font-size:30pt;margin:2px 0 0}.t-head p:last-child{font-size:12pt;color:#333}.p-list{list-style:none;margin:0;padding:0}.p-list li{display:grid;grid-template-columns:30px 44px 78px 1fr;gap:0 10px;align-items:start;padding:10px 0;border-bottom:1px solid #ccc;break-inside:avoid}.p-box{width:20px;height:20px;border:1.6px solid #111;display:grid;place-items:center;font-size:13pt;line-height:1;margin-top:1px}.p-n{font:600 14pt var(--sans)}.p-time{font:600 12pt var(--sans);padding-top:2px;white-space:nowrap}.p-addr{display:block;font:600 14pt/1.25 var(--sans)}.p-body p{margin:3px 0 0;font-size:12pt}.p-order+.p-order{margin-top:4px}.p-note{font-style:italic;color:#444;font-size:10.5pt!important}.p-list li.done{color:#777}.p-list li.done .p-addr{text-decoration:line-through}.p-list li.done .p-box{border-color:#777}
