
.fab{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(78px + var(--safe-b));z-index:40;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--brand),var(--ocean));box-shadow:0 6px 16px rgba(31,78,121,.32),0 2px 4px rgba(23,41,61,.12);transition:transform .15s ease,box-shadow .2s}
.fab svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.fab:active{transform:scale(.92);box-shadow:0 3px 10px rgba(31,78,121,.3)}
.act-tabrow{display:flex;align-items:center;gap:10px;margin:2px 0 12px}.act-tabrow .act-tabs{flex:1;margin:0}
.req-link{display:inline-flex;align-items:center;gap:5px;font-size:14px;font-weight:700;color:var(--ocean);padding:8px 2px;white-space:nowrap}
.req-n{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brand);color:#fff;font-size:11px;display:inline-grid;place-items:center}
.cr-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 0}.cr-top .sheet-t{margin:0;text-align:left;font-size:21px}
.cr-reqlink{justify-self:end;font-size:14px;font-weight:700;color:var(--ocean);padding:8px 0}
.cr-sub{font-size:14px;margin:2px 2px 16px}
.cr-opt{display:block;background:#f4f6f9;border-radius:18px;padding:14px;margin-bottom:12px;transition:background .2s,box-shadow .2s}
.cr-hold{display:flex;align-items:center;gap:14px}
.cr-row{display:flex;align-items:center;gap:12px}
.cr-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cr-main b{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-main .muted{font-size:13px}
.cr-ic{width:48px;height:48px;flex:none;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 1px 3px rgba(23,41,61,.08)}
.cr-pdf{font-size:12px;font-weight:900;color:#d2453b;letter-spacing:.04em}
.cr-thumb{width:48px;height:48px;flex:none;border-radius:12px;object-fit:cover;background:#fff}
.cr-holdbtn{position:relative;width:64px;height:64px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--brand),var(--ocean));box-shadow:0 6px 14px rgba(31,78,121,.28);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.cr-mic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;display:block}
.cr-recording{background:#fdeceb}.cr-recording .cr-holdbtn{background:#e5534b;transform:scale(1.08);box-shadow:0 6px 16px rgba(229,83,75,.35)}
.cr-recording .cr-holdbtn::before,.cr-recording .cr-holdbtn::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #e5534b;animation:crp 1.4s ease-out infinite}
.cr-recording .cr-holdbtn::after{animation-delay:.7s}
@keyframes crp{from{transform:scale(1);opacity:.7}to{transform:scale(1.7);opacity:0}}
.cr-timer{font-weight:800;font-variant-numeric:tabular-nums;color:#c8372f;font-size:17px}
.cr-has{background:#fff;box-shadow:inset 0 0 0 1.5px #dbe6ef}
.cr-has audio{width:100%;height:40px;margin-top:10px}
.cr-acts{display:flex;gap:8px;margin-top:10px;align-items:center}.cr-acts .btn.sm{height:36px;padding:0 14px;font-size:14px;border-radius:11px;background:#eef2f6;color:var(--ink)}
.cr-acts .btn[disabled]{opacity:.45}.cr-del{color:#c8372f!important}
.cr-file{cursor:pointer}.cr-x{width:32px;height:32px;border-radius:50%;background:#eef2f6;color:var(--ink-2);flex:none}
.cr-lbl{display:block;font-size:13px;font-weight:700;color:var(--ink-2);margin:4px 2px 6px}
.cr-ta{width:100%;border:0;border-radius:14px;background:#f4f6f9;padding:12px 14px;font-size:16px;resize:none;outline:none;margin-bottom:14px}
.cr-ta:focus{box-shadow:0 0 0 3px rgba(46,127,168,.22);background:#fff}
.cr-send[disabled]{opacity:.45;box-shadow:none}
#toast.wrap{white-space:normal;width:max-content;max-width:calc(100vw - 40px);text-align:center;line-height:1.35}
.req-note{margin:0 2px 12px}.req-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.req-card{background:var(--card);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.req-card audio{width:100%;height:38px;margin-top:10px}
.req-pill{flex:none;font-size:11.5px;font-weight:800;padding:5px 9px;border-radius:999px;white-space:nowrap}
.p-w{background:#fff4dc;color:#a06a00}.p-s{background:#e3f0fa;color:#1f5f8f}.p-k{background:#ece8fb;color:#5b45b5}.p-r{background:#e2f5ec;color:#11804f}
.cr-trash{margin-left:auto;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#c8372f;background:#fdeceb}
.cr-trash svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.req-empty{text-align:center;padding:36px 10px}.req-empty span{font-size:40px;display:block}.req-empty b{font-size:17px}.req-empty p{margin:6px 0 0}
.req-card .cr-main b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.req-pills{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
.req-pill.p-a{background:#fff4d6;color:#8a5a00}.req-pill.p-x{background:#fde8e6;color:#b4362b}
.req-card.req-need{box-shadow:0 0 0 2px #f5c451 inset,0 4px 14px rgba(23,41,61,.06)}
.linkbtn{background:none;border:0;padding:8px 6px;color:var(--brand);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.forgot .dot{color:var(--ink-2);margin:0 2px}
.cl-levels{display:grid;gap:8px;margin-top:6px}
.cl-level{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#f4f6f9;border:2px solid transparent;cursor:pointer;transition:border-color .15s,background .15s}
.cl-level input{appearance:none;-webkit-appearance:none;width:22px!important;height:22px!important;min-height:0!important;max-width:22px;padding:0!important;border-radius:50%!important;border:2px solid #b8c2cf;margin:1px 0 0;flex:none;background:#fff;box-shadow:none!important}
.cl-level input:checked{border:6px solid var(--brand)}
.cl-level:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.cl-level span{display:flex;flex-direction:column;gap:2px}.cl-level b{font-size:16px;color:var(--ink)}.cl-level small{font-size:13px;color:var(--ink-2);font-weight:600;line-height:1.35}
.cl-lvsel{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ink-2);margin:6px 0}
.cl-lvsel select{font:inherit;font-size:16px;font-weight:700;color:var(--ink);background:#f4f6f9;border:0;border-radius:10px;padding:6px 10px}
.cl-card .card-h{display:flex;align-items:center;justify-content:space-between}
.cl-off,.cl-lv{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:#eef1f5;color:var(--ink-2)}.cl-lv{background:var(--brand-soft);color:var(--brand)}
.cl-row{margin:2px 0 6px;font-weight:700;color:var(--ink)}
.cl-st{display:block;font-size:13.5px;font-weight:600;line-height:1.4;margin-bottom:8px;color:var(--ink-2)}
.cl-st.cl-ok{color:#0a8a5f}.cl-st.cl-ok::before{content:"✓ "}.cl-st.cl-bad{color:#b4362b}
.cl-msg{background:#f4f6f9;border-radius:12px;padding:12px;font-size:14px;line-height:1.45;margin:10px 0 14px;user-select:all;-webkit-user-select:all}
.cr-acts .btn{white-space:nowrap}
.req-open{display:block;color:inherit}
.req-last{display:block;margin:8px 2px 0;font-size:14px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.req-last.un{color:var(--ink);font-weight:700}
.req-un{box-shadow:0 0 0 2px rgba(229,83,75,.35)}
.cr-ic{position:relative}
.req-dot{position:absolute;top:-3px;right:-3px;width:12px;height:12px;border-radius:50%;background:#e5534b;border:2px solid #fff}
.req-n.unread{background:#e5534b}
.tab{position:relative}
.tab-dot{position:absolute;top:4px;left:calc(50% + 8px);width:9px;height:9px;border-radius:50%;background:#e5534b;border:2px solid #fff}
.tab-dot[hidden]{display:none}
body.chatmode .screen{padding-bottom:calc(96px + var(--safe-b))}
.chat{padding:6px 12px 8px;max-width:820px;margin:0 auto}
.chat-hint{margin:4px auto 12px;text-align:center;font-size:12.5px;font-weight:600;color:var(--ink-2);background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:999px;padding:5px 12px;width:max-content;max-width:100%}
.chat-list{display:flex;flex-direction:column;gap:8px}
.msg{max-width:82%;padding:9px 12px 6px;border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(23,41,61,.08);display:flex;flex-direction:column;gap:6px;word-wrap:break-word;overflow-wrap:anywhere}
.msg p{margin:0;font-size:15.5px;line-height:1.38}
.msg a{color:var(--ocean);text-decoration:underline}
.msg.me{align-self:flex-end;background:#dcf3ec;border-bottom-right-radius:6px}
.msg.them{align-self:flex-end;background:#e8f0fa;border-bottom-right-radius:6px}
.msg.tabmsg{align-self:flex-start;border-bottom-left-radius:6px}
.msg .who{font-size:12.5px;color:#7c5cff}
.msg.them .who{color:var(--ocean)}
.msg .meta{align-self:flex-end;font-size:11.5px;color:var(--ink-2);white-space:nowrap}
.msg .ck.seen{color:#2a9d8f;font-weight:700}.msg .ck.x{color:#c8433b}
.msg audio{width:240px;max-width:100%;height:40px}
.vn{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.7);border-radius:14px;padding:8px 12px;font-weight:700;font-size:14px;color:var(--ink)}
.vn i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;color:#fff;background:linear-gradient(135deg,var(--brand),var(--ocean));font-size:12px}
.vn.loading,.fchip.loading{opacity:.6}
.fchip{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.75);border-radius:14px;padding:6px 10px 6px 6px;text-align:left;max-width:100%}
.fchip .cr-ic{width:38px;height:38px;border-radius:10px;font-size:18px}.fchip .cr-pdf,.chat-att .cr-pdf{font-size:11px}.fchip .cr-main b{font-size:14px}
.sys{align-self:center;text-align:center;font-size:13px;font-weight:600;color:var(--ink-2);background:rgba(255,255,255,.7);border-radius:12px;padding:6px 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.pv-card{align-self:stretch;margin:6px 0 2px;background:linear-gradient(135deg,#f3efff,#e8f6f3);border:1.5px solid #cdbff7;border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:10px}
.pv-card.live{background:#eaf7ef;border-color:#a8dcbc}
.pv-h{display:flex;flex-direction:column;gap:2px}.pv-h b{font-size:17px}.pv-h .muted{font-size:13px}
.pv-btns{display:flex;flex-wrap:wrap;gap:8px}.pv-btns .btn{flex:1 1 auto;min-width:120px}
.pv-pub{background:#2a9d8f;color:#fff;width:100%}
.pv-note{margin:0;font-size:13.5px;font-weight:600}
.pv-err{margin:0;font-size:14px;color:#c8433b;font-weight:600}
.pv-banner{background:#7c5cff;color:#fff;font-size:13px;font-weight:800;text-align:center;padding:5px 10px;letter-spacing:.01em}
.pv-play .pv-banner{position:relative;z-index:5;padding-top:calc(5px + var(--safe-t))}
.pv-play .play-top{padding-top:8px}
.pv-banner.in-sheet{border-radius:12px;margin:0 0 12px}
.chat-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:8px 10px calc(8px + var(--safe-b));background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--line)}
.chat-in{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:6px}
.chat-row{display:flex;align-items:flex-end;gap:8px}
.chat-row textarea{flex:1;min-width:0;resize:none;border:1.5px solid var(--line);border-radius:22px;padding:10px 14px;font-size:16px;line-height:1.35;background:#fff;max-height:140px;outline:none}
.chat-row textarea:focus{border-color:var(--brand-2)}
.chat-ib,.chat-mic,.chat-send{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.chat-ib{color:var(--ink-2)}
.chat-ib svg,.chat-mic svg,.chat-send svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chat-mic,.chat-send{color:#fff;background:linear-gradient(135deg,var(--brand),var(--ocean));box-shadow:0 3px 8px rgba(31,78,121,.25)}
.chat-mic{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.chat-mic[hidden],.chat-send[hidden],.chat-att[hidden],.chat-rec[hidden],.chat-tip[hidden]{display:none}
.recording .chat-mic{background:#e5534b;transform:scale(1.12)}
.chat-rec{display:flex;align-items:center;gap:8px;font-weight:800;color:#c8433b;font-size:14px;padding:0 6px}
.chat-rec i{width:10px;height:10px;border-radius:50%;background:#e5534b;animation:crp 1.2s ease-out infinite}
.chat-att{display:flex;align-items:center;gap:10px;background:#f4f6f9;border-radius:14px;padding:6px 8px}
.chat-att .cr-ic{width:40px;height:40px;border-radius:10px;overflow:hidden}.chat-att .cr-ic img{width:100%;height:100%;object-fit:cover}
.chat-tip{margin:0;font-size:13px;text-align:center}
@media (min-width:900px){ .msg{max-width:70%} }
.actset-card h2{display:flex;align-items:center;gap:8px}.as-n{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e5534b;color:#fff;font-size:12px;display:inline-grid;place-items:center}.as-n[hidden]{display:none}
.as-list{display:flex;flex-direction:column;margin-top:8px;border-top:1px solid var(--line)}
.as-row{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:52px}
.as-row:last-child{border-bottom:0}.as-row b{flex:1;font-size:15.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.as-row.un b{font-weight:900}
.as-ic{position:relative;flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:20px;background:color-mix(in srgb,var(--c) 16%,#fff)}
.as-row .req-pill{flex:none}.as-go{flex:none;color:var(--ink-2);font-size:22px;line-height:1}
.as-rm{margin:28px 0 6px;padding:16px 4px 4px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.as-rm p{margin:0;max-width:440px}
.as-rm.off p{color:var(--ink)}
.btn.as-del{background:#fff;color:#D92D20;border:1.5px solid #D92D20;font-weight:700;min-height:44px;padding:0 22px;border-radius:12px}
.btn.as-del:active{background:#FDECEA}
.btn.as-back{background:var(--accent,#1F5C99);color:#fff;border:0;font-weight:700;min-height:40px;padding:0 18px;border-radius:12px}
.btn.as-back.sm{min-height:34px;padding:0 14px;font-size:14px;flex:none}
.as-gone{display:flex;flex-direction:column}
.as-row.as-off{gap:10px}
.as-off-l{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:var(--ink-2);text-decoration:none}
.as-off-l b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15.5px}
.as-off .as-ic{opacity:.55;filter:grayscale(.6)}
.as-trash{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 12px;border-radius:12px;background:#F2F3F7;color:var(--ink);text-decoration:none;min-height:52px}
.as-trash[hidden]{display:none}
.as-trash b{font-size:15.5px}.as-trash .muted{flex:1;min-width:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-trash .as-ic{background:#fff}
.as-tcard .as-list{margin-top:10px}
.as-tempty{padding:18px 6px}
.pv-card .btn.ghost.pv-dec{width:100%;margin-top:8px;color:#b4362b;background:#fdecea;border-color:rgba(180,54,43,.25)}
.pv-sub{background:var(--accent,#1F5C99)}
.pv-wait{color:#8a5a00;background:#fff4d6;border-radius:10px;padding:8px 10px;text-align:center}
.sys.act-line{font-weight:600;background:#eef3f9;color:#1f4e79}
.sys.act-line .meta{font-weight:500;color:var(--ink-3,#8a8f98);font-size:12px}
.as-entry{padding:2px 16px}
.as-open{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 0;color:var(--ink);text-decoration:none;font-weight:500;font-size:16px;-webkit-tap-highlight-color:transparent}
.as-open:active{opacity:.6}
.as-open .as-n{flex:none}.as-open .as-go{flex:none;color:#C4C4C7;font-size:24px;line-height:1;margin-left:2px}
.as-page .as-intro{margin:2px 4px 12px;line-height:1.4}
.as-page .actset-card{padding-top:4px;padding-bottom:4px}
.as-page .as-list{margin-top:0;border-top:0}
.fgone{display:flex;align-items:center;gap:10px;margin-top:6px;padding:8px 10px;border-radius:12px;background:rgba(120,120,128,.10);max-width:100%}
.fgone .fg-ic{font-size:20px;line-height:1;flex:none}
.fgone .cr-main{display:flex;flex-direction:column;min-width:0}.fgone b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fgone .muted{font-size:12.5px}
.rqd-none{text-align:center;margin:6px 0}.rqd-sum{list-style:none;cursor:pointer;display:flex;align-items:center;padding:14px 16px;background:var(--card);border-radius:18px;box-shadow:var(--shadow);font-weight:700;color:var(--ink-2)}.rqd-sum::-webkit-details-marker{display:none}.rqd-sum::after{content:'›';margin-left:auto;font-size:24px;line-height:1;color:var(--ink-3);transition:transform .2s}.rqd-box[open] .rqd-sum::after{transform:rotate(90deg)}.rqd-list{margin:12px 0 0}
.rqd-help{font-size:13px;margin:-2px 2px 8px;line-height:1.35}
