:root{--bg:#f3f1ec;--surface:#fff;--fg:#17201d;--muted:#667570;--line:#e3e0d8;--brand:#0e6b5c;--brand-fg:#fff;--out:#d6f3e2;--in:#fff;--chat-bg:#ece7dc;--tick:#2f8fd1;--danger:#c0392b;--chip:#e7efe9;--font:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1210;--surface:#16201d;--fg:#e8eeeb;--muted:#8a9b95;--line:#25322d;--brand:#2fb596;--brand-fg:#04120e;--out:#0f4a3c;--in:#1d2a26;--chat-bg:#0f1714;--tick:#5bb6f0;--danger:#ff7b6b;--chip:#1f2e29;color-scheme:dark}}:root[data-theme=dark]{--bg:#0c1210;--surface:#16201d;--fg:#e8eeeb;--muted:#8a9b95;--line:#25322d;--brand:#2fb596;--brand-fg:#04120e;--out:#0f4a3c;--in:#1d2a26;--chat-bg:#0f1714;--tick:#5bb6f0;--danger:#ff7b6b;--chip:#1f2e29;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.35 var(--font);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}input,textarea{font:inherit;color:var(--fg)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.app{height:100%;max-width:480px;margin:0 auto;background:var(--surface);position:relative;overflow:hidden}.screen{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--surface)}.screen.chat{background:var(--chat-bg);z-index:3;animation:slide .2s ease}@keyframes slide{0%{transform:translate(40px);opacity:.4}}.top{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:var(--brand);color:var(--brand-fg)}.top h1{flex:1;margin:0;font-size:21px;font-weight:800;letter-spacing:-.2px;display:flex;align-items:center;gap:8px}.icon-btn{min-width:38px;height:38px;border-radius:19px;display:grid;place-items:center;font-size:22px;padding:0 4px}.top .icon-btn:not(:first-child){font-size:14px;font-weight:600;padding:0 12px}.icon-btn:active{background:#fff2}.chat-top{padding-left:6px}.chat-top .who{flex:1;min-width:0;display:flex;flex-direction:column}.chat-top .who b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-top .who small{opacity:.85;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search{padding:10px 14px 4px}.search input{width:100%;height:42px;border:0;border-radius:999px;background:var(--chip);padding:0 16px}.filters{display:flex;gap:8px;padding:6px 14px 8px;overflow-x:auto;scrollbar-width:none}.filters button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;white-space:nowrap}.filters button[aria-pressed=true]{background:var(--chip);border-color:var(--brand);color:var(--brand);font-weight:700}.list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;text-align:left}.row .name{font-weight:700;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .last{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .last mark{background:#fde68a;color:#111;border-radius:3px}.row .meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.row .t{font-size:12px;color:var(--muted)}.row .t.unread{color:var(--brand);font-weight:700}.row .chips{display:flex;gap:4px;align-items:center}.lbl{font-size:10.5px;font-weight:700;color:#fff;background:#5a6b7b;border-radius:6px;padding:1px 6px}.avatar{border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;flex:none}.badge{background:#e53935;color:#fff;border-radius:10px;min-width:20px;padding:1px 6px;font-size:12px;font-weight:700;text-align:center}.top .badge{font-size:12px}.rt,.wn{display:inline-flex;align-items:center;gap:4px;border:1px solid;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px;font-variant-numeric:tabular-nums}.rt i{width:7px;height:7px;border-radius:50%;background:currentColor}.rt.g{color:#047857;background:#ecfdf5;border-color:#6ee7b7}.rt.a,.wn.a{color:#92400e;background:#fffbeb;border-color:#fcd34d}.rt.r,.wn.r{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.rt.r i{animation:pulse 1s infinite}.wn.x{color:var(--muted);background:var(--chip);border-color:var(--line)}@keyframes pulse{50%{opacity:.25}}@media(prefers-color-scheme:dark){.rt.g{background:#052e22;color:#6ee7b7;border-color:#065f46}.rt.a,.wn.a{background:#2b1d04;color:#fcd34d;border-color:#92400e}.rt.r,.wn.r{background:#2a0a0a;color:#fca5a5;border-color:#991b1b}}.top .rt,.top .wn{background:var(--surface)}.empty{padding:36px 24px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:12px;align-items:center}.banner{background:#fff3cd;color:#664d03;padding:8px 14px;font-size:13px;text-align:center}.spin{width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.boot{height:100%;display:grid;place-items:center}.btn{background:var(--brand);color:var(--brand-fg);border-radius:999px;padding:12px 22px;font-weight:700;text-align:center}.btn:disabled{opacity:.5}.btn.small{padding:8px 16px}.btn.ghost{background:var(--chip);color:var(--fg)}.link{color:var(--brand);font-weight:600;padding:8px}.err{color:var(--danger);font-size:14px}.login{max-width:400px;margin:0 auto;min-height:100%;padding:56px 24px;display:flex;flex-direction:column;align-items:center}.login img{border-radius:18px}.login h1{margin:14px 0 2px;font-size:28px}.login p{margin:0 0 22px;color:var(--muted)}.login form{width:100%;display:flex;flex-direction:column;gap:14px}.login label,.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.login input,.field input{height:48px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;background:var(--surface);font-size:16px}.origin{background:var(--chip);color:var(--muted);font-size:12.5px;padding:6px 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msgs{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:3px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.day{align-self:center;background:var(--surface);color:var(--muted);font-size:12px;padding:3px 10px;border-radius:8px;margin:8px 0;box-shadow:0 1px 1px #0001}.msg{align-self:flex-start;max-width:82%;background:var(--in);border-radius:4px 12px 12px;padding:6px 9px 4px;box-shadow:0 1px 1px #0001;overflow-wrap:anywhere}.msg.out{align-self:flex-end;background:var(--out);border-radius:12px 4px 12px 12px}.msg.failed{outline:1px solid var(--danger)}.msg .txt{white-space:pre-wrap}.msg .media{display:block;max-width:100%;border-radius:8px;margin-bottom:4px}.msg .doc{display:block;color:var(--brand);font-weight:600;margin-bottom:4px}.msg audio{max-width:100%}.foot{display:flex;justify-content:flex-end;gap:4px;font-size:11px;color:var(--muted);margin-top:1px}.tick.read{color:var(--tick)}.tick.bad{color:var(--danger)}.retry{font-size:12px;color:var(--danger);margin-top:2px}.retry button{text-decoration:underline}.bar{display:flex;align-items:flex-end;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--chat-bg)}.bar textarea{flex:1;resize:none;max-height:120px;border:0;border-radius:22px;background:var(--surface);padding:11px 16px;line-height:1.3}.bar .tpl{background:var(--surface);width:44px;height:44px;font-size:18px;flex:none}.send{width:46px;height:46px;border-radius:50%;background:var(--brand);color:var(--brand-fg);font-size:18px;flex:none}.send:disabled{opacity:.45}.closed{background:var(--surface);padding:12px 16px calc(12px + env(safe-area-inset-bottom));text-align:center;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;align-items:center}.closed p{margin:0;color:var(--muted);font-size:14px}.sheet-wrap{position:absolute;inset:0;background:#0006;display:flex;align-items:flex-end;z-index:10}.sheet{width:100%;max-height:85%;overflow-y:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.sheet h2{margin:0;font-size:18px}.tpl-row{text-align:left;border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:3px}.tpl-row small{color:var(--brand);font-weight:700}.tpl-row span{color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.preview{background:var(--out);border-radius:12px;padding:10px 12px;white-space:pre-wrap}.actions{display:flex;gap:10px}.actions .btn{flex:1}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.top .logo{border-radius:9px;flex:none}.top h1{font-size:20px}.top .icon-btn svg{width:22px;height:22px}.pane{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.nav{display:flex;border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom);flex:none}.nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0 6px;font-size:11.5px;color:var(--muted);position:relative}.nav button[aria-current=true]{color:var(--brand);font-weight:700}.nav .nb{position:absolute;top:2px;left:calc(50% + 6px);background:var(--brand);color:var(--brand-fg);border-radius:9px;min-width:17px;font-size:10.5px;padding:0 4px;font-weight:700}.sect{padding:12px 14px 4px;color:var(--muted);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:8px}.sect span{margin-left:auto;text-transform:none}.sect .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.none{padding:6px 14px 10px;color:var(--muted);font-size:13px}.sum{display:flex;justify-content:space-between;padding:4px 14px 2px;color:var(--muted);font-size:13px}.sum b{color:var(--fg)}.pipesel{padding:10px 14px 0}.pipesel select{width:100%;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:0 12px}.row{display:flex;gap:12px;align-items:center;padding:10px 14px;width:100%;text-align:left}.row:active{background:var(--chip)}.row .mid{flex:1;min-width:0}.row.deal .meta{align-items:flex-end}.card{margin:10px 14px;padding:12px 14px;background:var(--chip);border-radius:14px;display:flex;flex-direction:column;gap:6px}.card small{color:var(--muted)}.setrow{display:flex;align-items:center;gap:12px;padding:14px;width:100%;text-align:left;color:var(--danger);font-weight:600}.bar .mfield{flex:1;display:flex;align-items:flex-end;background:var(--surface);border-radius:24px;padding:2px 4px;min-width:0}.bar .mfield textarea{background:transparent;padding:11px 6px}.plain{width:38px;height:42px;display:grid;place-items:center;color:var(--muted);flex:none}.emo{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;background:var(--surface);padding:8px;border-top:1px solid var(--line)}.emo button{font-size:22px;padding:4px 0;border-radius:8px}.emo button:active{background:var(--chip)}.qr{max-height:38%;overflow-y:auto;background:var(--surface);border-top:1px solid var(--line)}.qr button{display:flex;flex-direction:column;text-align:left;padding:10px 14px;width:100%;border-bottom:1px solid var(--line)}.qr button span{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swipe{position:relative;overflow:hidden;touch-action:pan-y}.swipe .row{position:relative;background:var(--surface);touch-action:pan-y;user-select:none;-webkit-user-select:none}.swipe .row.selected{background:var(--chip);box-shadow:inset 4px 0 0 var(--brand)}.dealbtn{position:absolute;right:0;top:0;bottom:0;width:92px;background:#16a34a;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:700;font-size:13px}.check{width:48px;height:48px;border-radius:50%;background:var(--brand);color:var(--brand-fg);display:grid;place-items:center;flex:none}.dealwho{display:flex;gap:10px;align-items:center}.dealwho small{display:block;color:var(--muted);font-weight:400}.hint{margin:0;color:var(--muted);font-size:13px}.field select,.field input[type=date],.field input[inputmode]{height:48px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;background:var(--surface);font-size:16px}.layer-full{position:absolute;inset:0;z-index:8;background:var(--surface);display:flex;flex-direction:column}.dealcard{gap:10px}.bulkbar{padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.flip svg{transform:scaleX(-1)}.calhead{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;text-transform:capitalize}.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:0 10px 8px}.calgrid .dow{text-align:center;color:var(--muted);font-size:12px;padding:4px 0;font-weight:700}.day-cell{height:42px;border-radius:12px;position:relative;display:grid;place-items:center;font-weight:600}.day-cell.today{color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--brand)}.day-cell.sel{background:var(--brand);color:var(--brand-fg)}.day-cell .dot{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--brand)}.day-cell.sel .dot{background:var(--brand-fg)}.day-cell .dot.late{background:var(--danger)}.act{display:flex;gap:12px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}.act .when{font-weight:700;min-width:46px}.act .mid{flex:1;min-width:0;display:flex;flex-direction:column}.act .mid small{color:var(--muted)}.act.overdue .when{color:var(--danger)}.act.completed{opacity:.55}.act .done{color:var(--brand)}.attach{display:flex;flex-wrap:wrap;gap:6px;background:var(--surface);padding:10px 12px;border-top:1px solid var(--line)}.attach label{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:var(--chip);font-weight:600;cursor:pointer}.attach .ico{font-size:20px}.attach small{flex-basis:100%;color:var(--muted)}.banner.info{background:var(--chip);color:var(--fg)}.note{background:var(--chip);border-radius:12px;padding:8px 12px}.note p{margin:0 0 2px;white-space:pre-wrap}.note small{color:var(--muted)}.field textarea{border:1.5px solid var(--line);border-radius:12px;padding:10px 14px;background:var(--surface);font-size:16px;resize:vertical}.top.home{background:var(--surface);color:var(--fg);padding-bottom:6px;min-height:60px}.top.home .zl{height:17px;width:auto;flex:none}.top.home .zl.d{display:none}.top.home h1.ttl{flex:1;font-size:19px;font-weight:700;letter-spacing:-.1px;margin:0 0 0 4px;padding-left:10px;border-left:2px solid var(--line);line-height:1.1;display:block}.top.home .icon-btn{color:var(--fg)}:root[data-theme=dark] .top.home .zl.l{display:none}:root[data-theme=dark] .top.home .zl.d{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .top.home .zl.l{display:none}:root:not([data-theme=light]) .top.home .zl.d{display:block}}.top.home .icon-btn svg,.nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.searchbar{padding:6px 16px 8px}.searchbar input{width:100%;height:48px;border:0;border-radius:28px;background:var(--chip) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23778' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px center;padding:0 18px 0 46px;font-size:16px}.filters{padding:4px 16px 10px}.filters button{padding:8px 16px;font-size:14.5px;background:transparent}.filters button[aria-pressed=true]{background:var(--out);color:var(--fg);border-color:transparent;font-weight:600}.nav button[aria-current=true]{color:var(--fg)}.nav button svg{box-sizing:content-box;padding:3px 14px;border-radius:16px}.nav button[aria-current=true] svg{background:var(--out)}.row .name .stg{font-size:11px;font-weight:700;color:#fff;border-radius:8px;padding:1px 8px;white-space:nowrap}.row .stgs{display:flex;gap:4px;flex-wrap:wrap}.fab{position:absolute;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));width:54px;height:54px;border-radius:16px;background:var(--brand);color:var(--brand-fg);display:grid;place-items:center;box-shadow:0 4px 14px #00000047;z-index:2}.fab svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.row .who{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.cu{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;scrollbar-width:none}.cu button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line);border-radius:16px;padding:5px 11px;font-size:12.5px;flex:none}.cu button[aria-pressed=true]{background:var(--out);border-color:transparent;font-weight:600}.kinfo{padding:0 16px 8px;color:var(--muted);font-size:12.5px}.kv{display:flex;flex-direction:column;gap:12px;padding:0 14px 90px}.ks{background:var(--bg);border-radius:14px;border-left:5px solid var(--sc);padding:6px 8px 8px;transition:box-shadow .15s,background .15s}.ks.over{background:var(--out);box-shadow:0 0 0 2px var(--sc) inset}.kh{display:flex;align-items:center;gap:8px;padding:4px 6px 8px}.kh i{width:10px;height:10px;border-radius:50%;background:var(--sc)}.kh b{flex:1;font-size:14px}.kh span{background:var(--chip);border-radius:10px;padding:0 8px;font-size:12px;font-weight:700}.kh small{color:var(--muted);font-size:12px}.kcard{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:6px;padding:6px 4px 6px 8px;gap:2px}.kcard .km{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left}.kcard .kt{min-width:0;flex:1}.kcard b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kcard small{display:block;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kcard .kv-amt{font-size:12.5px;font-weight:700;flex:none}.kcard .kdots{color:var(--muted);font-size:22px}.kcard.dragging{opacity:.35}.kcard.kghost{position:fixed;z-index:30;width:min(440px,calc(100vw - 28px));box-shadow:0 8px 24px #0000004d;pointer-events:none}.kgrip{flex:none;width:28px;height:36px;display:grid;place-items:center;color:var(--muted);font-size:20px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.ke{color:var(--muted);font-size:12.5px;padding:8px 6px}.stageopt{display:flex;align-items:center;gap:10px;width:100%;padding:12px 6px;text-align:left;border-bottom:1px solid var(--line)}.stageopt:disabled{color:var(--muted)}.stageopt .dot{width:12px;height:12px;border-radius:50%;display:inline-block}.profile{display:flex;align-items:center;gap:14px;padding:16px 16px 8px}.profile .mid{min-width:0;flex:1}.profile b{display:block;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile small,.setrow small{display:block;color:var(--muted);font-size:12.5px}.settings .setrow{display:flex;align-items:center;gap:14px;padding:12px 16px;width:100%;text-align:left;color:var(--fg);font-weight:400;border-bottom:1px solid var(--line)}.settings .setrow .mid{flex:1;min-width:0}.settings .setrow b{display:block;font-weight:600}.settings .setrow:active{background:var(--chip)}.sico{width:38px;height:38px;border-radius:50%;background:var(--chip);color:var(--brand);display:grid;place-items:center;flex:none}.sico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.setrow.danger,.setrow.danger b,.setrow.danger .sico{color:var(--danger)}.sw{width:42px;height:24px;border-radius:12px;background:var(--line);position:relative;flex:none;transition:background .15s}.sw:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}.sw.on{background:var(--brand)}.sw.on:after{transform:translate(18px)}.seg{display:flex;background:var(--chip);border-radius:12px;padding:3px;margin:6px 16px}.seg button{flex:1;padding:8px 0;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:0 1px 3px #00000026}.settings-note{margin:16px;color:var(--muted);font-size:12.5px;text-align:center}.aviso{display:flex;gap:10px;align-items:flex-start;margin:4px 14px 6px;padding:12px 8px 12px 14px;border-radius:16px;background:#fff3cd;color:#3d3000;border:1px solid #f1d27a}.aviso .aemoji{font-size:26px;line-height:1;flex:none}.aviso .abody{flex:1;min-width:0}.aviso b{display:block}.aviso p{margin:2px 0 4px}.aviso small{display:block;opacity:.7;font-size:12px;margin-bottom:8px}.aviso .icon-btn{color:inherit;flex:none}.aviso .btn.ok{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:14px}.aviso .btn.ok svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.5}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .aviso{background:#3a3110;color:#fde9a6;border-color:#6b5a1b}}:root[data-theme=dark] .aviso{background:#3a3110;color:#fde9a6;border-color:#6b5a1b}
