: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}.job,.client{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:16px;margin-bottom:12px}.job{display:grid;grid-template-columns:74px 1fr;gap:4px 14px}.job.late,.job.incomplete{border-color:var(--alert);border-left-width:4px;background:var(--alert-bg)}.job.delivered{opacity:.55}.when{display:flex;flex-direction:column;gap:4px;font-size:15px}.when .d{font-weight:500;color:var(--ink)}.when .t{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.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}.body h3,.client h3{margin:0 0 3px;font:700 18px/1.25 var(--serif);color:var(--ink)}.body p,.client p{margin:2px 0}.what{font-weight:400;color:var(--ink)}.where,.hint,.why{color:var(--soft);font-size:15px}.note{font-style:italic;color:var(--ink)}.price{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.warn{color:var(--alert);font-weight:500;font-size:15px}.rule{font-size:15px;background:var(--blush-bg);border-left:2px solid var(--blush);padding:6px 10px;margin-top:10px!important}.act{grid-column:1 / -1;margin-top:10px}.status{width:100%;min-height:52px;border-radius:3px;border:1px solid var(--line);background:#fff;font-weight:500;letter-spacing:.04em;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center}.status small{font-weight:300;font-size:13px;color:var(--soft);letter-spacing:0}.status.ready{background:var(--blush-bg);border-color:var(--blush);color:var(--plum)}.status.delivered{background:var(--sage-bg);border-color:#d5dbd1;color:var(--sage)}.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}.body,.when,.client{cursor:pointer}.job.skipped{opacity:.5;background:repeating-linear-gradient(135deg,#fff 0,#fff 8px,#faf7f8 8px,#faf7f8 16px)}.job.skipped h3{text-decoration:line-through}.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,.act,.fab{display:none}.app{padding:0;max-width:none}.job{break-inside:avoid}}.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}.week{display:grid;gap:10px;margin-top:10px}.wday{border:1px solid var(--line);border-radius:4px;padding:6px 12px 8px;background:#fff}.wday.is-today{border-color:var(--plum)}.wday-head{width:100%;display:flex;justify-content:space-between;background:none;border:0;padding:6px 0;font:italic 400 18px var(--serif);color:var(--ink)}.wday-head .soft{font:300 14px var(--sans)}.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}.mg-count{font-size:12px;background:var(--plum);color:#fff;border-radius:99px;padding:0 7px}.mg-count.done{background:var(--sage-bg);color:var(--sage)}.mg-names{font-size:10px;line-height:1.2;color:var(--soft)}@media (max-width: 420px){.mg-names{display:none}}.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}.proof{grid-column:1 / -1;width:100%;max-height:220px;object-fit:cover;border-radius:3px;margin-top:8px;cursor:pointer}.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-count{background:var(--accent);color:var(--ink)}.mg-count.done{background:#f1f1f1;color:var(--soft)}.mg-day.is-today,.wday.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)}.status.ready{background:var(--blush-bg);border-color:var(--accent-strong);color:var(--ink)}.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)}.job.t-event:not(.late):not(.incomplete){border-left:4px solid #9a3366;background:#fbf3f7}.tag.event{background:#9a3366;color:#fff;border-color:#9a3366}.job.t-maintenance:not(.late):not(.incomplete){background:#fafafa}.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)}.summary{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;margin:18px 0 0;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--text)}.summary strong{font:italic 400 20px var(--serif);color:var(--ink);margin-right:4px}.summary .ok{color:var(--sage);font-weight:500}.summary .bad{color:var(--alert);font-weight:500}.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 .summary{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)}.day-view{display:grid;gap:18px;margin-top:8px}.bench{border:1px solid var(--line);border-radius:4px;padding:14px 16px;background:#fcfbf7;align-self:start}.bench h3{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font:italic 400 19px var(--serif);color:var(--ink);margin:6px 0 8px}.bench h3 .soft{font:300 14px var(--sans);font-style:normal}.bench-lines{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px}.bench-lines li{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:baseline}.bench-lines b{font:500 18px var(--sans);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.bench-lines small{display:block;color:var(--soft);font-size:13px}.bench-lines li.done{opacity:.45}.bench-lines li.done b:after{content:" ✓";font-size:12px;color:var(--sage)}.bench-event{padding:6px 0 8px 10px;border-left:3px solid #9a3366;margin-bottom:8px}.bench-event strong{color:#9a3366}.bench-event p{margin:2px 0;font-size:14px}.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%}.day-view{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:32px}.bench{position:sticky;top:90px}.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}}
