.pipe{display:flex;gap:10px;overflow-x:auto;padding:4px 16px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex:1;min-height:0;align-items:stretch;scrollbar-width:none}.pipe::-webkit-scrollbar{display:none}.col{flex:none;width:272px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;min-height:0}.col .colh{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 4px}.col .colh .t{font-size:15px}.col .colh .m{font-size:12px}.col .cards{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0;padding-bottom:8px}.col .cards .empty{background:#fff;border:1px dashed var(--line);border-radius:14px}.lcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}.lcard .top2{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.lcard .nm{font-weight:600;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lcard .val{font-weight:700;font-size:14px;flex:none}.lcard .svc{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nxt{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;min-width:0}.nxt.due{color:#b45309;font-weight:600}.nxt.over{color:#b91c1c;font-weight:600}.coljump{display:flex;gap:6px;overflow-x:auto;padding:0 16px 6px;scrollbar-width:none}.coljump::-webkit-scrollbar{display:none}.coljump button{flex:none;height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer}.coljump button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.coljump button b{color:inherit;font-weight:700;margin-left:4px}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:flex-end;justify-content:center;z-index:40}.sheet .panel{background:#fff;border-radius:20px 20px 0 0;padding:16px 16px max(20px,env(safe-area-inset-bottom));width:100%;max-width:480px;display:flex;flex-direction:column;gap:10px;max-height:85dvh;overflow-y:auto}.sheet .panel .h3{display:flex;justify-content:space-between;align-items:center}.grid2b{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grid2b .btn{min-height:52px}.btn.warm{background:#fef3c7;color:#78350f;border:0}.btn.cold{background:#f3f4f6;color:#374151;border:0}.btn.good{background:#d1fae5;color:#065f46;border:0}.tl{display:flex;flex-direction:column}.tl .ti{display:grid;grid-template-columns:12px 1fr auto;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:14px;align-items:start}.tl .ti:first-child{border-top:0}.tl .ti i{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:6px;display:inline-block}.tl .ti i.sys{background:#9ca3af}.tl .ti i.bad{background:#dc2626}.tl .ti i.good{background:#16a34a}.tl .ti .when{color:var(--muted);font-size:12px;white-space:nowrap}.tl .ti .m{white-space:normal}.calldue{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.stagepick{display:flex;gap:8px;align-items:center}.stagepick select.inp{height:40px;font-size:14px}.invdoc{display:flex;flex-direction:column;gap:14px}.invhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.invtitle{font-size:20px;font-weight:700;letter-spacing:-.01em}.invmeta{display:flex;flex-direction:column;gap:2px;font-size:13px;text-align:right;color:var(--ink)}.invmeta .lbl{margin-right:6px}.invparties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.invparties .m.wrap{white-space:normal;overflow:visible;text-overflow:clip}.invlines{display:flex;flex-direction:column}.invnote{margin:0}.printbar{display:none}@media print{@page{margin:16mm}html,body{background:#fff!important}.nav,.bar,.tabs,.brand .back,.no-print,.toast,.acting>div:first-child{display:none!important}.scr,.cust,.body{max-width:none!important;padding:0!important;margin:0!important;background:#fff!important;box-shadow:none!important;min-height:0!important;height:auto!important;overflow:visible!important}.card{border:0!important;padding:0!important;break-inside:avoid}.printbar{display:block;font-size:12px;color:#555;margin-top:24px}.invtitle{font-size:24px}a[href]:after{content:""}}.scr,.cpage{--bg:#F4F5F7;--ink:#111827;--muted:#6B7280;--line:#E5E7EB;--accent:#2457F5;--accent-soft:#E8EDFB;font-family:Inter,system-ui,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}.scr{width:390px;height:844px;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;position:relative;box-sizing:border-box}.scr *{box-sizing:border-box}.top{padding:20px 20px 8px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.top h1{font-size:30px;line-height:1.1;font-weight:700;margin:0;letter-spacing:-.02em}.sub{color:var(--muted);font-size:14px;margin:4px 0 0}.nav{display:flex;align-items:center;gap:4px;padding:10px 12px 6px;background:var(--bg)}.nav.white{background:#fff;border-bottom:1px solid var(--line)}.back{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--ink);text-decoration:none;flex:none}.back svg,.ico svg{width:24px;height:24px}.navt{font-size:17px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navs{font-size:13px;color:var(--muted);font-weight:500}.ico{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--ink);text-decoration:none;background:transparent;border:0;flex:none}.body{flex:1;overflow-y:auto;padding:8px 16px 24px;display:flex;flex-direction:column;gap:12px}.card{background:#fff;border-radius:16px;padding:14px 16px;border:1px solid var(--line);display:flex;flex-direction:column}.card.tight{padding:4px 16px}.sect{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:10px 4px -4px;display:flex;justify-content:space-between;align-items:center}.sect a{text-transform:none;letter-spacing:0;font-size:14px;color:var(--accent);text-decoration:none;font-weight:600}.row{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;padding:12px 0;min-height:56px}.row+.row{border-top:1px solid var(--line)}.av{width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:#1e40af;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;flex:none}.av.lg{width:56px;height:56px;font-size:20px}.grow{flex:1;min-width:0}.t{font-weight:600;font-size:16px;line-height:1.3}.m{color:var(--muted);font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrap{white-space:normal}.r{text-align:right;flex:none}.amt{font-weight:700;font-size:16px}.time{font-size:13px;color:var(--muted);font-weight:500}.pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;flex:none}.p-fb{background:#e7f0ff;color:#1d4ed8}.p-ig{background:#fce7f3;color:#9d174d}.p-sms{background:#e0f2fe;color:#075985}.p-mail{background:#ede9fe;color:#5b21b6}.p-web{background:#f1f5f9;color:#334155}.p-call{background:#ecfdf5;color:#065f46}.p-warn{background:#fef3c7;color:#92400e}.p-ok{background:#d1fae5;color:#065f46}.p-bad{background:#fee2e2;color:#991b1b}.p-info{background:var(--accent-soft);color:#1e40af}.p-grey{background:#f3f4f6;color:#374151}.pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;background:var(--accent);color:#fff;font-weight:600;font-size:16px;text-decoration:none;border:0;padding:0 16px;font-family:inherit;cursor:pointer;text-align:center}.btn2{background:#fff;color:var(--ink);border:1px solid #D1D5DB}.btn3{background:transparent;color:var(--accent);min-height:44px}.btn.sm{min-height:40px;font-size:14px;border-radius:10px;padding:0 12px}.btn.danger{background:#fff;color:#b91c1c;border:1px solid #FCA5A5}.btns{display:flex;gap:8px}.btns>*{flex:1}.chips{display:flex;gap:8px;overflow-x:auto;padding:0 16px 4px}.chip{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;flex:none}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tabs{display:flex;border-top:1px solid var(--line);background:#fff;padding:6px 4px 24px;flex:none}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:500;color:var(--muted);text-decoration:none;padding-top:4px;min-height:48px;position:relative}.tab.on{color:var(--accent);font-weight:600}.tab svg{width:24px;height:24px}.badge{position:absolute;top:0;left:calc(50% + 6px);min-width:18px;height:18px;border-radius:9px;background:#dc2626;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}.kv{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;padding:7px 0}.kv>span:first-child{color:var(--muted)}.kv.total{font-weight:700;font-size:17px;border-top:1px solid var(--line);margin-top:4px;padding-top:12px}.kv.total>span:first-child{color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px}.field label,.lbl{font-size:13px;font-weight:600;color:var(--muted)}.inp{height:48px;border-radius:12px;border:1px solid #D1D5DB;padding:0 14px;font:inherit;font-size:16px;background:#fff;color:var(--ink);width:100%}textarea.inp{height:auto;padding:12px 14px;resize:none;line-height:1.4}.seg{display:flex;background:#e9ebef;border-radius:12px;padding:3px;gap:3px}.seg a,.seg span{flex:1;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none}.seg .on{background:#fff;color:var(--ink);box-shadow:0 1px 2px #00000014}.opt{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--line);background:#fff;text-decoration:none;color:inherit;min-height:56px}.opt.on{border:2px solid var(--accent);padding:13px;background:#f7f9ff}.radio{width:22px;height:22px;border-radius:50%;border:2px solid #CBD5E1;flex:none}.opt.on .radio{border:7px solid var(--accent)}.check{width:22px;height:22px;border-radius:6px;border:2px solid #CBD5E1;flex:none;display:flex;align-items:center;justify-content:center}.check.on{background:var(--accent);border-color:var(--accent);color:#fff}.check svg{width:14px;height:14px}.thread{display:flex;flex-direction:column;gap:8px}.msg{max-width:80%;padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.4}.msg.in{background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:6px}.msg.out{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:6px}.msg.auto{background:#eef2f7;color:#334155;align-self:flex-end;border-bottom-right-radius:6px}.stamp{font-size:12px;color:var(--muted);align-self:center;margin:6px 0}.stamp.r{align-self:flex-end;margin:-2px 4px 0}.ctx{display:flex;gap:8px;overflow-x:auto;padding:8px 12px;background:#fff;border-bottom:1px solid var(--line);flex:none}.ctxc{border:1px solid var(--line);border-radius:12px;padding:8px 12px;min-width:150px;flex:none;text-decoration:none;color:inherit;background:#fafbfc}.ctxc .k{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.ctxc .v{font-size:14px;font-weight:600;margin-top:2px}.compose{background:#fff;border-top:1px solid var(--line);padding:8px 12px 24px;display:flex;flex-direction:column;gap:8px;flex:none}.actions{display:flex;gap:8px;overflow-x:auto}.act{height:36px;padding:0 12px;border-radius:10px;background:var(--accent-soft);color:#1e40af;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap;flex:none}.box{display:flex;align-items:flex-end;gap:8px}.box .inp{border-radius:22px;height:44px}.send{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;border:0}.send svg{width:20px;height:20px}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.slot{height:48px;border-radius:12px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;text-decoration:none;color:var(--ink);font-size:15px}.slot.on{background:var(--accent);color:#fff;border-color:var(--accent)}.days{display:flex;gap:6px;overflow-x:auto}.day{width:52px;height:64px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;text-decoration:none;color:var(--ink)}.day .dn{font-size:12px;color:var(--muted);font-weight:500}.day .dd{font-size:18px;font-weight:700}.day.on{background:var(--ink);border-color:var(--ink);color:#fff}.day.on .dn{color:#d1d5db}.day.full{opacity:.45}.agenda{display:flex;flex-direction:column}.slotrow{display:flex;gap:10px;min-height:60px}.hour{width:46px;font-size:12px;color:var(--muted);padding-top:2px;flex:none;text-align:right}.lane{flex:1;border-top:1px solid var(--line);padding:4px 0 8px;display:flex;flex-direction:column;gap:6px}.ev{border-radius:12px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-left:0;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:2px;box-shadow:inset 4px 0 0 var(--accent)}.ev.hold{box-shadow:inset 4px 0 #d97706;background:#fffbeb}.ev.block{box-shadow:inset 4px 0 #9ca3af;background:#f3f4f6}.ev.gap{box-shadow:none;background:transparent;border:1px dashed #D1D5DB;color:var(--muted);font-size:13px;padding:6px 12px}.bar{padding:12px 16px 28px;background:#fff;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;flex:none}.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo{aspect-ratio:1/1;border-radius:12px;background:#e5e7eb;display:flex;align-items:center;justify-content:center;color:#4b5563;font-size:12px;font-weight:500;text-align:center;padding:6px}.photo.add{background:#fff;border:1px dashed #9CA3AF;color:var(--accent);font-weight:600}.tog{width:48px;height:28px;border-radius:14px;background:var(--accent);position:relative;flex:none}.tog:after{content:"";position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;background:#fff}.tog.off{background:#cbd5e1}.tog.off:after{right:auto;left:3px}.dot{width:10px;height:10px;border-radius:50%;flex:none}.d-ok{background:#059669}.d-warn{background:#d97706}.d-bad{background:#dc2626}.big{font-size:32px;font-weight:700;letter-spacing:-.02em}.stat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat .card{gap:2px}.note{font-size:13px;color:var(--muted);line-height:1.45}.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#fef3c7;color:#78350f;font-size:14px;line-height:1.4}.banner.info{background:var(--accent-soft);color:#1e3a8a}.banner.ok{background:#d1fae5;color:#064e3b}.preview{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.45;color:#1f2937}.brand{display:flex;align-items:center;gap:10px;padding:16px 20px;background:#fff;border-bottom:1px solid var(--line);flex:none}.logo{width:40px;height:40px;border-radius:10px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex:none}.steps{display:flex;gap:6px;padding:12px 20px 0}.steps span{flex:1;height:4px;border-radius:2px;background:#d1d5db}.steps span.on{background:var(--accent)}.h2{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:4px 0 0}.h3{font-size:17px;font-weight:600;margin:0}.center{align-items:center;text-align:center}.tick{width:64px;height:64px;border-radius:50%;background:#d1fae5;color:#047857;display:flex;align-items:center;justify-content:center}.tick svg{width:32px;height:32px}.qr{width:120px;height:120px;border-radius:12px;background:repeating-linear-gradient(90deg,#111827 0,#111827 6px,#fff 6px,#fff 12px),#fff;flex:none;border:8px solid #fff;outline:1px solid var(--line)}.cpage{background:var(--bg);min-height:100%;width:100%}.cpage *{box-sizing:border-box}.chead{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 24px;background:#0f172a;color:#fff}.chead .cbrand{font-weight:700;font-size:16px}.chead a{color:#cbd5e1;text-decoration:none;font-size:14px;font-weight:500;padding:6px 10px;border-radius:8px}.chead a.on{background:#1e293b;color:#fff}.cwrap{max-width:1240px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:20px}.ctitle{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}.ctitle h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em}.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.cgrid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.ccard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}.ccard h2{margin:0;font-size:16px;font-weight:600}.tscroll{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px}.ctable{width:100%;border-collapse:collapse;min-width:900px}.ctable th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:12px 16px;border-bottom:1px solid var(--line);background:#fafbfc}.ctable td{padding:14px 16px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}.ctable tr:last-child td{border-bottom:0}.ctable a{color:var(--ink);font-weight:600;text-decoration:none}.crow{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}.crow:first-of-type{border-top:0}.crow .grow{min-width:0}.cbtn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:9px;background:var(--accent);color:#fff;font-weight:600;font-size:14px;text-decoration:none;border:0;font-family:inherit}.cbtn.ghost{background:#fff;color:var(--ink);border:1px solid #D1D5DB}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#f4f5f7;font-family:Inter,system-ui,sans-serif;color:#111827;-webkit-text-size-adjust:100%}#root{min-height:100%}.scr{width:100%;height:100dvh;min-height:100dvh}@supports not (height: 100dvh){.scr{height:100vh;min-height:100vh}}@media(min-width:640px){body{background:#e9ebef}.scr{max-width:480px;margin:0 auto;border-left:1px solid #D1D5DB;border-right:1px solid #D1D5DB}}.tabs{padding-bottom:max(10px,env(safe-area-inset-bottom))}.bar,.compose{padding-bottom:max(14px,env(safe-area-inset-bottom))}.top{padding-top:max(20px,env(safe-area-inset-top))}.body>*,.compose>*,.bar>*{flex-shrink:0}.msg,.preview{overflow-wrap:anywhere}button{font-family:inherit}button.back{background:none;border:0;cursor:pointer;padding:0}button.row,button.opt,button.chip,button.slot,button.day,button.act,button.ctxc,button.card,button.ev{background:none;border:0;text-align:left;width:100%;cursor:pointer;color:inherit;font:inherit}button.row{background:transparent}button.opt{background:#fff;border:1px solid var(--line);width:100%}button.opt.on{border:2px solid var(--accent);background:#f7f9ff}button.opt:disabled{opacity:.5;cursor:default}button.chip{width:auto;background:#fff;border:1px solid var(--line)}button.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}button.slot{background:#fff;border:1px solid var(--line);width:auto}button.slot.on{background:var(--accent);color:#fff;border-color:var(--accent)}button.day{background:#fff;border:1px solid var(--line);width:52px}button.day.on{background:var(--ink);border-color:var(--ink);color:#fff}button.day:disabled{cursor:default}button.act{width:auto;background:var(--accent-soft)}button.ctxc{width:auto;background:#fafbfc;border:1px solid var(--line)}button.card{background:#fff;border:1px solid var(--line)}button.ev{background:#fff;border:1px solid var(--line);border-left:0}button.ev.hold{background:#fffbeb}button.ev.block{background:#f3f4f6}button.btn3{background:transparent;border:0;cursor:pointer}a.card,a.ccard{text-decoration:none;color:inherit}.btn:disabled,.cbtn:disabled{opacity:.55;cursor:default}.seg button{flex:1;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--muted);background:transparent;border:0;cursor:pointer}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px #00000014}.tog{border:0;cursor:pointer;padding:0}.tog:disabled{opacity:.6;cursor:default}.check,.radio{cursor:pointer}.inp:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.inp.err{border-color:#dc2626}select.inp{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chips{-ms-overflow-style:none;scrollbar-width:none}.chips::-webkit-scrollbar,.days::-webkit-scrollbar,.actions::-webkit-scrollbar,.ctx::-webkit-scrollbar{display:none}.days,.actions,.ctx{scrollbar-width:none}.loading{padding:32px 16px;text-align:center;color:var(--muted);font-size:14px}.skel{background:linear-gradient(90deg,#e9ebef 25%,#f3f4f6,#e9ebef 75%);background-size:200% 100%;animation:sh 1.2s infinite;border-radius:10px;height:56px}@keyframes sh{0%{background-position:200% 0}to{background-position:-200% 0}}.errbox{background:#fee2e2;color:#991b1b;border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.4;display:flex;gap:10px;align-items:flex-start}.errbox button{margin-left:auto;background:#fff;border:1px solid #FCA5A5;color:#991b1b;border-radius:8px;height:32px;padding:0 10px;font-weight:600;cursor:pointer;flex:none}.empty{padding:20px 16px;text-align:center;color:var(--muted);font-size:14px;line-height:1.45}.card .empty{padding:12px 0}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);background:#111827;color:#fff;padding:10px 16px;border-radius:12px;font-size:14px;font-weight:500;z-index:50;max-width:calc(100% - 32px);box-shadow:0 8px 24px #11182733}.toast.bad{background:#991b1b}.spin{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sp .8s linear infinite}.btn2 .spin{border-color:#d1d5db;border-top-color:var(--ink)}@keyframes sp{to{transform:rotate(360deg)}}.msg.failed{border-color:#fca5a5}.msg .meta{display:block;font-size:11px;opacity:.8;margin-top:4px}.stamp.bad{color:#b91c1c}.photo.disabled{opacity:.6;cursor:default}.login{display:flex;flex-direction:column;justify-content:center;min-height:100dvh;padding:24px 20px;gap:14px;max-width:420px;margin:0 auto;box-sizing:border-box}.login h1{font-size:28px;margin:0;letter-spacing:-.02em}.login .field{margin-top:4px}.pwd{position:relative}.pwd button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--accent);font-weight:600;font-size:14px;cursor:pointer;padding:8px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.grid4 .btn.sm{padding:0 6px;font-size:13px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.amount-input{font-size:28px;font-weight:700;height:64px;text-align:center;letter-spacing:-.02em}.dayhead{font-size:15px;font-weight:600;margin:4px 4px 0}.ev .pills{margin-top:4px}.cust .scr{background:#fff}.strike{text-decoration:line-through;color:var(--muted)}.copybox{display:flex;gap:8px;align-items:center}.copybox code{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:#f3f4f6;padding:10px 12px;border-radius:10px;overflow-wrap:anywhere}.hours-row{display:grid;grid-template-columns:40px 1fr 18px 1fr 34px;gap:6px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.hours-row:first-child{border-top:0}.hours-row .lbl{font-size:14px;color:var(--ink)}.hours-row select.inp{height:40px;font-size:13px;padding:0 24px 0 8px;background-position:right 8px center}.hours-row .closed{grid-column:2 / 6;display:flex;align-items:center;justify-content:space-between}.hours-row span.to{text-align:center;color:var(--muted);font-size:13px}.warnpw{background:#fef3c7;color:#78350f;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.warnpw code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;background:#fff;padding:10px 12px;border-radius:10px;overflow-wrap:anywhere;color:#111827}.cform{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.cform .field.wide{grid-column:1 / -1}.cstatus{display:inline-flex;gap:6px;align-items:center}.chead .signout{margin-left:auto;color:#cbd5e1;background:none;border:0;font:inherit;font-size:14px;cursor:pointer}@media(max-width:760px){.ctable{min-width:720px}}.mhead{display:flex;align-items:center;gap:4px}.mhead .ico{font-size:22px;font-weight:600}.mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mh{text-align:center;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 0 2px}.mc{min-height:54px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:6px 2px 4px;font:inherit;cursor:pointer;color:var(--ink)}.mc.pad{background:transparent;border-color:transparent;cursor:default}.mc.closed{background:#f3f4f6;color:var(--muted)}.mc.past{opacity:.6}.mc.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.mc .n{font-size:14px;font-weight:600;line-height:1}.mc.today .n{color:var(--accent)}.mc .dots{display:flex;gap:3px;align-items:center;min-height:8px;flex-wrap:wrap;justify-content:center}.mc .dots i,.mkey i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}.mc .dots i.done,.mkey i.done{background:#16a34a}.mc .dots i.hold,.mkey i.hold{background:#d97706}.mc .dots i.block,.mkey i.block{background:#9ca3af;border-radius:2px}.mc .dots em{font-style:normal;font-size:10px;font-weight:600;color:var(--muted)}.mkey{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);padding:2px 4px}.mkey span{display:inline-flex;align-items:center;gap:5px}.lane{min-width:0}.ev{min-width:0;max-width:100%}.ev .t,.ev .m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--bg:#F4F5F7;--ink:#111827;--muted:#6B7280;--line:#E5E7EB;--accent:#2457F5;--accent-soft:#E8EDFB}.actbar{position:fixed;top:0;left:0;right:0;z-index:40;height:36px;display:flex;align-items:center;gap:10px;padding:0 12px;background:#fef3c7;color:#78350f;font-size:13px;line-height:1.2;border-bottom:1px solid #FDE68A}.actbar .who{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actbar .left{flex:none;font-weight:600;white-space:nowrap}.actbar button{background:#78350f;color:#fff;border:0;border-radius:8px;height:26px;padding:0 10px;font:inherit;font-weight:600;font-size:13px;cursor:pointer;flex:none}.acting .scr{height:calc(100dvh - 36px);min-height:calc(100dvh - 36px);margin-top:36px}@supports not (height: 100dvh){.acting .scr{height:calc(100vh - 36px);min-height:calc(100vh - 36px)}}
