:root{--brand: #466bf2;--brand-600: #3457e8;--brand-700: #2743c4;--brand-300: #8ba1f7;--brand-100: #dde4fe;--brand-50: #eef2ff;--accent: #fbdb18;--accent-600: #e6c400;--accent-100: #fff6c9;--accent-50: #fffdf0;--on-accent: #0c1024;--ok: #12b981;--ok-bg: #e6f9f2;--warn: #f79009;--warn-bg: #fff4e5;--dang: #f0453a;--dang-bg: #ffeceb;--violet: #8b5cf6;--pink: #ec4899;--cyan: #06b6d4;--ink: #0c1024;--ink-2: #3d4562;--ink-3: #727b99;--ink-4: #a3aac2;--bg: #f2f4fb;--surface: #ffffff;--surface-2: #f8f9fe;--surface-3: #eef1f9;--line: #e5e8f2;--line-2: #eef0f7;--rail: #0c1024;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--r-xl: 30px;--r-full: 999px;--sh-1: 0 1px 2px rgba(12, 16, 36, .05), 0 2px 8px rgba(12, 16, 36, .05);--sh-2: 0 2px 6px rgba(12, 16, 36, .06), 0 12px 28px rgba(12, 16, 36, .09);--sh-3: 0 20px 60px rgba(12, 16, 36, .18);--sh-brand: 0 8px 24px rgba(70, 107, 242, .32);--sh-accent: 0 8px 22px rgba(251, 219, 24, .38);--spring: cubic-bezier(.34, 1.4, .5, 1);--ease: cubic-bezier(.4, 0, .2, 1);--t-fast: .16s;--t: .26s;--t-slow: .45s;--rail-w: 76px;--side-w: 286px;--panel-w: 330px}html[data-theme=dark]{--ink: #f3f5ff;--ink-2: #c3c9e2;--ink-3: #8d95b5;--ink-4: #666e91;--bg: #080b18;--surface: #11162a;--surface-2: #161c33;--surface-3: #1d2440;--line: #232a46;--line-2: #1b2138;--rail: #050813;--brand-50: #141d3d;--brand-100: #1d2a5c;--accent-100: #3a3411;--accent-50: #241f08;--ok-bg: #0d2f26;--warn-bg: #33260f;--dang-bg: #3a1917;--sh-1: 0 1px 2px rgba(0, 0, 0, .4);--sh-2: 0 8px 28px rgba(0, 0, 0, .45);--sh-3: 0 24px 70px rgba(0, 0, 0, .6)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow:hidden;transition:background var(--t) var(--ease),color var(--t) var(--ease)}button,input,textarea{font-family:inherit;font-size:inherit;color:inherit;border:none;background:none;outline:none}button{cursor:pointer}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--ink-4);background-clip:content-box}::-webkit-scrollbar-track{background:transparent}:root{--c-created: #466bf2;--c-completed: #12b981;--c-urgent: #f0453a;--c-high: #f79009;--c-normal: #466bf2;--c-low: #14b8a6;--c-grid: #e5e8f2}html[data-theme=dark]{--c-created: #5b7cf5;--c-completed: #0ea371;--c-urgent: #f0453a;--c-high: #cf9200;--c-normal: #5b7cf5;--c-low: #17a8a0;--c-grid: #232a46}.app{height:100vh;display:flex;flex-direction:column}.topbar{height:58px;flex:0 0 58px;display:flex;align-items:center;gap:18px;padding:0 18px;background:var(--surface);border-bottom:1px solid var(--line);z-index:60;position:relative}.brand{display:flex;align-items:center;gap:10px;padding-right:14px;border-right:1px solid var(--line)}.brand-logo{height:26px;width:auto;display:block}html[data-theme=dark] .topbar .brand-logo{filter:brightness(0) invert(1)}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.22)}}.switcher{display:flex;gap:2px;background:var(--surface-3);padding:4px;border-radius:var(--r-full);position:relative}.switcher .glider{position:absolute;top:4px;left:4px;height:calc(100% - 8px);border-radius:var(--r-full);background:var(--surface);box-shadow:var(--sh-1);transition:transform .38s var(--spring),width .38s var(--spring);z-index:0}.sw-btn{position:relative;z-index:1;padding:7px 15px;border-radius:var(--r-full);font-size:13px;font-weight:600;color:var(--ink-3);display:flex;align-items:center;gap:7px;transition:color var(--t) var(--ease)}.sw-btn svg{width:15px;height:15px}.sw-btn.on{color:var(--brand)}.sw-btn:hover{color:var(--ink)}.sw-btn.on:hover{color:var(--brand)}.top-right{margin-left:auto;display:flex;align-items:center;gap:8px}.searchbox{display:flex;align-items:center;gap:9px;background:var(--surface-3);border-radius:var(--r-full);padding:8px 14px;width:210px;transition:width var(--t) var(--spring),box-shadow var(--t) var(--ease)}.searchbox:focus-within{width:280px;box-shadow:0 0 0 3px var(--brand-100)}.searchbox input{width:100%;font-size:13px;font-weight:500}.searchbox input::placeholder{color:var(--ink-4)}.searchbox kbd{font-size:10px;font-weight:700;color:var(--ink-4);background:var(--surface);padding:2px 6px;border-radius:6px;border:1px solid var(--line)}.icon-btn{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:var(--ink-3);transition:all var(--t) var(--spring);position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--ink);transform:translateY(-1px)}.icon-btn svg{width:18px;height:18px}.icon-btn .badge{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:99px;background:var(--dang);border:2px solid var(--surface)}.shell{flex:1;display:flex;min-height:0}.rail{width:var(--rail-w);flex:0 0 var(--rail-w);background:var(--rail);display:flex;flex-direction:column;align-items:center;padding:14px 0 12px;gap:8px;position:relative;z-index:40}.ws{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-weight:800;font-size:15px;color:#fff;position:relative;transition:all var(--t) var(--spring);flex:0 0 46px}.ws:before{content:"";position:absolute;left:-11px;top:50%;transform:translateY(-50%) scaleY(0);width:4px;height:26px;border-radius:0 4px 4px 0;background:var(--accent);transition:transform var(--t) var(--spring)}.ws.on:before{transform:translateY(-50%) scaleY(1)}.ws:hover{transform:translateY(-2px) scale(1.05);border-radius:17px}.ws.on{box-shadow:0 0 0 3px #ffffff24}.ws-tip{position:absolute;left:60px;top:50%;transform:translateY(-50%) translate(-6px);background:var(--ink);color:#fff;padding:6px 11px;border-radius:9px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:all var(--t) var(--spring);z-index:80;box-shadow:var(--sh-2)}html[data-theme=dark] .ws-tip{background:var(--surface-3);border:1px solid var(--line)}.ws-wrap{position:relative;display:flex}.ws-wrap:hover .ws-tip{opacity:1;transform:translateY(-50%) translate(0)}.rail-div{width:26px;height:1px;background:#ffffff21;margin:5px 0}.rail-add{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#ffffff80;border:1.5px dashed rgba(255,255,255,.22);transition:all var(--t) var(--spring)}.rail-add:hover{color:var(--accent);border-color:var(--accent);transform:rotate(90deg)}.rail-spacer{flex:1}.rail-me{width:42px;height:42px;border-radius:14px;position:relative;transition:transform var(--t) var(--spring)}.rail-me:hover{transform:scale(1.07)}.rail-me .dot{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border-radius:99px;background:var(--ok);border:2.5px solid var(--rail)}.side{width:var(--side-w);flex:0 0 var(--side-w);background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.side-head{padding:16px 16px 12px;border-bottom:1px solid var(--line-2)}.side-title{display:flex;align-items:center;justify-content:space-between}.side-title h2{font-size:17px;font-weight:800;letter-spacing:-.4px}.side-sub{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:2px;display:flex;align-items:center;gap:5px}.live-dot{width:6px;height:6px;border-radius:99px;background:var(--ok);animation:dotPulse 1.8s infinite}.side-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 10px 18px}.grp{margin-top:12px}.grp-h{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:10.5px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--ink-4);cursor:pointer;-webkit-user-select:none;user-select:none}.grp-h svg{width:11px;height:11px;transition:transform var(--t) var(--ease)}.grp-h .cnt{margin-left:auto;background:var(--surface-3);color:var(--ink-3);padding:1px 7px;border-radius:99px;font-size:10px;letter-spacing:0}.chan{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:13px;cursor:pointer;transition:all var(--t-fast) var(--ease);position:relative;margin-bottom:1px}.chan:hover{background:var(--surface-3)}.chan.on{background:var(--brand-50);color:var(--brand)}html[data-theme=dark] .chan.on{background:var(--brand-100)}.chan.on .c-name{color:var(--brand);font-weight:700}.chan .c-ico{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;flex:0 0 26px;font-size:13px;background:var(--surface-3);color:var(--ink-3);font-weight:700}.chan.on .c-ico{background:var(--brand);color:#fff}.c-name{font-size:13.5px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.c-lock{color:var(--ink-4);margin-right:4px;vertical-align:-1px;flex:0 0 auto}.c-meta{margin-left:auto;display:flex;align-items:center;gap:6px;flex:0 0 auto}.pill-n{background:var(--brand);color:#fff;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:99px;min-width:20px;text-align:center}.pill-n.mention{background:var(--accent);color:var(--ink);box-shadow:var(--sh-accent)}.c-time{font-size:10.5px;color:var(--ink-4);font-weight:600}.avat{border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;flex:0 0 auto;letter-spacing:-.2px;position:relative;background-size:cover}.avat.sq{border-radius:32%}.pres{position:absolute;right:-1px;bottom:-1px;border-radius:99px;border:2.5px solid var(--surface);width:11px;height:11px}.pres.on{background:var(--ok)}.pres.away{background:var(--warn)}.pres.off{background:var(--ink-4)}.pres.busy{background:var(--dang)}.side-foot{padding:10px;border-top:1px solid var(--line-2)}.huddle-strip{background:linear-gradient(135deg,var(--brand),var(--brand-700));border-radius:var(--r-md);padding:12px 13px;color:#fff;position:relative;overflow:hidden;cursor:pointer;transition:transform var(--t) var(--spring)}.huddle-strip:hover{transform:translateY(-2px)}.huddle-strip:after{content:"";position:absolute;inset:0;background:radial-gradient(120px 60px at 90% 10%,rgba(251,219,24,.35),transparent)}.hs-top{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;position:relative;z-index:1}.hs-wave{display:flex;align-items:flex-end;gap:2px;height:13px}.hs-wave i{width:2.5px;background:var(--accent);border-radius:2px;animation:wave 1s var(--ease) infinite}.hs-wave i:nth-child(1){height:5px;animation-delay:0s}.hs-wave i:nth-child(2){height:11px;animation-delay:.14s}.hs-wave i:nth-child(3){height:7px;animation-delay:.28s}.hs-wave i:nth-child(4){height:13px;animation-delay:.42s}@keyframes wave{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.hs-people{display:flex;margin-top:9px;position:relative;z-index:1;align-items:center;gap:8px}.hs-people .stack{display:flex}.hs-people .stack .avat{border:2px solid var(--brand-600);margin-left:-7px}.hs-people .stack .avat:first-child{margin-left:0}.hs-join{margin-left:auto;background:var(--accent);color:var(--ink);font-size:11px;font-weight:800;padding:5px 11px;border-radius:99px}#stage{flex:1;min-width:0;min-height:0;display:flex;position:relative}.has-bottom-nav .shell{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.has-bottom-nav .topbar{height:calc(58px + env(safe-area-inset-top,0px));flex:0 0 calc(58px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.has-bottom-nav .rail{display:none}.has-bottom-nav #stage{flex-direction:column}.has-bottom-nav .side{width:100%;flex:0 0 auto;max-height:40vh;border-right:none;border-bottom:1px solid var(--line)}.has-bottom-nav .side-scroll{flex:0 0 auto;display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;padding:8px 10px 10px;-webkit-overflow-scrolling:touch}.has-bottom-nav .grp{margin-top:0;display:flex;align-items:center;gap:6px;flex:0 0 auto}.has-bottom-nav .grp-h{display:none}.has-bottom-nav .chan{flex:0 0 auto;margin-bottom:0;white-space:nowrap}.has-bottom-nav .main{width:100%;min-width:0;min-height:0}.has-bottom-nav .main-head{height:auto;min-height:62px;flex:0 0 auto;flex-wrap:nowrap;padding:10px 14px}.has-bottom-nav .main-head .mh-info{flex:1;min-width:0}.has-bottom-nav .main-head .mh-t,.has-bottom-nav .main-head .mh-s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-bottom-nav .main-head .mh-right{flex:0 0 auto;margin-left:8px}.has-bottom-nav .face-stack,.has-bottom-nav .btn-label{display:none}.mh-back{flex:0 0 auto;margin-right:2px}.has-bottom-nav .main-head.room-native,.has-bottom-nav .bh-top.room-native{padding-top:max(24px,calc(env(safe-area-inset-top,0px) + 10px))}.has-bottom-nav.room-focus .shell{padding-bottom:0}.has-bottom-nav .composer-wrap{padding:6px 10px calc(14px + env(safe-area-inset-bottom,0px))}.has-bottom-nav .callout,.has-bottom-nav .quote-strip,.has-bottom-nav .doc,.has-bottom-nav .task-embed,.has-bottom-nav .link-prev{max-width:100%}.has-bottom-nav .msg.mine .callout,.has-bottom-nav .msg.mine .quote-strip,.has-bottom-nav .msg.mine .doc,.has-bottom-nav .msg.mine .task-embed,.has-bottom-nav .msg.mine .link-prev,.has-bottom-nav .msg.mine .msg-att,.has-bottom-nav .msg.mine .msg-att-grid{max-width:calc(100vw - 80px)}.has-bottom-nav .msg.mine .avat{display:none}.has-bottom-nav .panel{position:fixed;inset:0;z-index:120;width:100%;border-left:none}.has-bottom-nav .panel-h{height:auto;min-height:62px;padding-top:calc(10px + env(safe-area-inset-top,0px))}.has-bottom-nav .panel-b{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.has-bottom-nav .thread-reply{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}.has-bottom-nav .expl-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.has-bottom-nav .expl-table .c-name,.has-bottom-nav .expl-table td:first-child{white-space:normal}.has-bottom-nav .bh-top{flex-wrap:nowrap;gap:8px}.has-bottom-nav .bh-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.has-bottom-nav .bh-top .mh-right{flex:0 0 auto;gap:6px}.has-bottom-nav .bh-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.has-bottom-nav .bh-tabs{flex:0 0 auto}.has-bottom-nav .bh-tabs button,.has-bottom-nav .bh-bar .filter{flex:0 0 auto;white-space:nowrap}.has-bottom-nav .side.list-native{max-height:none;height:100%;border-bottom:none}.has-bottom-nav .side.list-native .side-scroll{flex:1;display:block;overflow-x:hidden;overflow-y:auto;padding:10px 10px 18px}.has-bottom-nav .side.list-native .grp{display:block;margin-top:12px}.has-bottom-nav .side.list-native .grp-h{display:flex}.has-bottom-nav .side.list-native .chan{flex:0 0 auto;width:100%;white-space:normal}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.bn-tab{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 10px;color:var(--ink-4);transition:color var(--t) var(--ease)}.bn-badge{position:absolute;top:4px;left:50%;margin-left:3px;width:8px;height:8px;border-radius:99px;background:var(--dang);border:2px solid var(--surface)}.bn-tab.on{color:var(--brand)}.bn-tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:600}.bn-more-list{display:flex;flex-direction:column;gap:2px}.bn-more-item{display:flex;align-items:center;gap:12px;padding:12px 8px;border-radius:var(--r-sm);font-size:14px;font-weight:600;color:var(--ink);text-align:left}.bn-more-item:hover{background:var(--surface-3)}.screen{display:none;flex:1;min-width:0}.screen.on{display:flex;animation:screenIn .42s var(--spring)}@keyframes screenIn{0%{opacity:0;transform:translateY(10px) scale(.994)}to{opacity:1;transform:none}}.main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg);position:relative}.main-head{height:62px;flex:0 0 62px;display:flex;align-items:center;gap:12px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--line)}.mh-ico{width:36px;height:36px;border-radius:12px;background:linear-gradient(140deg,var(--brand),var(--brand-700));display:grid;place-items:center;color:#fff;font-weight:800;font-size:15px;box-shadow:var(--sh-brand)}.mh-t{font-size:15.5px;font-weight:800;letter-spacing:-.3px;display:flex;align-items:center;gap:8px}.mh-s{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:1px}.tag{font-size:10px;font-weight:800;padding:3px 8px;border-radius:99px;letter-spacing:.3px;text-transform:uppercase}.tag.blue{background:var(--brand-50);color:var(--brand)}.tag.yellow{background:var(--accent-100);color:#8a6d00}html[data-theme=dark] .tag.yellow{color:var(--accent)}.tag.green{background:var(--ok-bg);color:var(--ok)}.tag.red{background:var(--dang-bg);color:var(--dang)}.tag.grey{background:var(--surface-3);color:var(--ink-3)}.mh-right{margin-left:auto;display:flex;align-items:center;gap:8px}.face-stack{display:flex;margin-right:4px}.face-stack .avat{border:2.5px solid var(--surface);margin-left:-9px}.face-stack .avat:first-child{margin-left:0}.face-more{width:30px;height:30px;border-radius:50%;background:var(--surface-3);color:var(--ink-3);font-size:10.5px;font-weight:800;display:grid;place-items:center;border:2.5px solid var(--surface);margin-left:-9px}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r-full);font-size:12.5px;font-weight:700;transition:all var(--t) var(--spring);white-space:nowrap}.btn svg{width:15px;height:15px}.btn-pri{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}.btn-pri:hover{background:var(--brand-600);transform:translateY(-2px);box-shadow:0 12px 28px #466bf26b}.btn-dang{background:var(--dang-bg);color:var(--dang);border:1px solid var(--dang);flex:none}.btn-dang:hover{background:var(--dang);color:#fff}.btn-acc{background:var(--accent);color:var(--ink);box-shadow:var(--sh-accent)}.btn-acc:hover{transform:translateY(-2px) scale(1.02)}.btn-ghost{background:var(--surface-3);color:var(--ink-2)}.btn-ghost:hover{background:var(--line);transform:translateY(-1px)}.btn-out{border:1.5px solid var(--line);color:var(--ink-2)}.btn-out:hover{border-color:var(--brand);color:var(--brand)}.btn:active{transform:scale(.96)}.stream{flex:1;overflow-y:auto;overflow-x:hidden;padding:22px 26px 8px;display:flex;flex-direction:column;gap:6px;position:relative}.day-div{display:flex;align-items:center;gap:12px;margin:18px 0 14px}.day-div:before,.day-div:after{content:"";flex:1;height:1px;background:var(--line)}.day-div span{font-size:11px;font-weight:800;color:var(--ink-3);background:var(--surface);padding:5px 13px;border-radius:99px;border:1px solid var(--line)}.msg{display:flex;gap:10px;padding:3px 10px;align-items:flex-start;position:relative;animation:msgIn .5s var(--spring) both}@keyframes msgIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.msg:hover .msg-tools{opacity:1;transform:translateY(0) scale(1)}.msg.compact{padding-top:1px;padding-bottom:1px}.msg.compact .avat{visibility:hidden;height:0}.msg-body{position:relative;display:flex;flex-direction:column;max-width:66%;min-width:0}.msg:has(.msg-att) .msg-body{width:60%;max-width:60%}.bubble{position:relative;background:var(--surface);border-radius:var(--r-md);padding:10px 14px;box-shadow:0 1px 2px #0c10240d;transition:box-shadow var(--t) var(--ease)}.msg:hover .bubble{box-shadow:0 3px 10px #0c10241a}.msg.mine .bubble{background:var(--brand-100)}.msg.mine{flex-direction:row-reverse}.msg.mine .msg-body{align-items:flex-end}.msg-tools{position:absolute;top:-14px;right:4px}.msg.mine .msg-tools{right:auto;left:4px}.msg-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;flex-wrap:wrap}.msg-name{font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;border:none;background:none;padding:0;font-family:inherit}button.msg-name{cursor:pointer}button.msg-name:hover{text-decoration:underline}.msg-role{font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:99px;background:var(--surface-3);color:var(--ink-3);text-transform:uppercase;letter-spacing:.4px}.msg-time{font-size:10px;color:var(--ink-4);font-weight:600}.msg-text{font-size:14px;line-height:1.62;color:var(--ink-2);word-wrap:break-word}.msg-text b{color:var(--ink);font-weight:700}.mention{background:var(--brand-50);color:var(--brand);font-weight:700;padding:1.5px 6px;border-radius:7px;cursor:pointer;transition:all var(--t) var(--spring);display:inline-block}.mention:hover{background:var(--brand);color:#fff;transform:translateY(-1px)}.mention.me{background:var(--accent-100);color:#7d6200;box-shadow:inset 0 0 0 1px var(--accent)}html[data-theme=dark] .mention.me{color:var(--accent)}.callout{display:flex;gap:10px;align-items:flex-start;margin:6px 0;padding:10px 14px;max-width:480px;border-radius:var(--r-sm);border-left:3px solid var(--brand);background:var(--brand-50);animation:calloutIn .4s var(--spring) both;transition:transform var(--t) var(--spring),box-shadow var(--t) var(--ease)}.callout:hover{transform:translateY(-1px);box-shadow:0 3px 10px #0c102424}@keyframes calloutIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.callout-ico{font-size:15px;line-height:1.62;flex:0 0 auto}.callout-body{font-size:14px;line-height:1.62;color:var(--ink-2);word-wrap:break-word}.callout-tip{border-left-color:var(--accent-600);background:var(--accent-100)}.callout-warn{border-left-color:var(--warn);background:var(--warn-bg)}.callout-danger{border-left-color:var(--dang);background:var(--dang-bg)}.callout-success{border-left-color:var(--ok);background:var(--ok-bg)}.msg.hilite .bubble{box-shadow:inset 0 0 0 1.5px var(--accent)}.code-inline{background:var(--surface-3);color:var(--pink);font-family:ui-monospace,Menlo,monospace;font-size:12.5px;padding:2px 6px;border-radius:6px}.msg-tools{display:flex;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);padding:3px;box-shadow:var(--sh-2);opacity:0;transform:translateY(4px) scale(.94);transition:all var(--t) var(--spring);z-index:5}.msg-tools button{width:28px;height:28px;border-radius:99px;display:grid;place-items:center;font-size:14px;color:var(--ink-3);transition:all var(--t-fast) var(--spring)}.msg-tools button:hover{background:var(--surface-3);transform:scale(1.18)}.reacts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.react{display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;background:var(--surface-3);border:1.5px solid transparent;font-size:12px;font-weight:700;color:var(--ink-2);transition:all var(--t) var(--spring)}.react:hover{transform:translateY(-2px) scale(1.05);border-color:var(--line)}.react.mine{background:var(--brand-50);border-color:var(--brand);color:var(--brand)}.react.pop{animation:reactPop .45s var(--spring)}@keyframes reactPop{0%{transform:scale(1)}45%{transform:scale(1.32) rotate(-7deg)}to{transform:scale(1)}}.react-add{width:30px;height:26px;border-radius:99px;background:var(--surface-3);color:var(--ink-3);font-size:13px;display:grid;place-items:center;transition:all var(--t) var(--spring)}.react-add:hover{background:var(--brand-50);color:var(--brand);transform:rotate(90deg) scale(1.1)}.thread-link{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:5px 11px 5px 5px;border-radius:99px;background:var(--surface);border:1px solid var(--line);font-size:11.5px;font-weight:700;color:var(--brand);transition:all var(--t) var(--spring)}.thread-link:hover{background:var(--brand-50);border-color:var(--brand-300);transform:translate(3px)}.quote-strip{display:block;padding:6px 10px;margin-bottom:6px;border-left:3px solid var(--brand);background:var(--surface-3);border-radius:var(--r-sm);font-size:12px;color:var(--ink-3);max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quote-strip .quote-author{font-weight:800;color:var(--brand);margin-right:6px}.quote-deleted{font-style:italic;color:var(--ink-4)}.reply-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;margin:0 16px 8px;border-left:3px solid var(--brand);background:var(--surface-3);border-radius:var(--r-sm);font-size:12.5px}.reply-strip .quote-author{font-weight:800;color:var(--brand)}.reply-strip-body{color:var(--ink-3);margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px;display:inline-block;vertical-align:bottom}.thread-link .stack{display:flex}.thread-link .stack .avat{margin-left:-6px;border:2px solid var(--surface)}.thread-link .stack .avat:first-child{margin-left:0}.msg-att{margin-top:10px;width:100%}.msg-att-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:var(--r-md);overflow:hidden;width:100%}.ph{display:block;width:100%;position:relative;aspect-ratio:4 / 3;cursor:pointer;overflow:hidden;border:none;padding:0;font:inherit;transition:transform var(--t) var(--spring)}.ph:hover{transform:scale(1.02);z-index:2}.ph:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35));opacity:0;transition:opacity var(--t) var(--ease)}.ph:hover:after{opacity:1}.ph .zoom{position:absolute;right:8px;bottom:8px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:99px;opacity:0;transform:translateY(6px);transition:all var(--t) var(--spring)}.ph:hover .zoom{opacity:1;transform:none}.ph.wide{grid-column:span 2;aspect-ratio:16 / 7}.ph .more-ov{position:absolute;inset:0;background:#0c10249e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;color:#fff;font-size:19px;font-weight:800}.vid-wrap{position:relative;width:100%}.vid{position:relative;border-radius:var(--r-md);overflow:hidden;width:100%;aspect-ratio:16 / 9;cursor:pointer;transition:transform var(--t) var(--spring)}.vid:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}.vid-expand{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:999px;background:#0c10248c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;opacity:0;transition:all var(--t) var(--ease)}.vid-wrap:hover .vid-expand{opacity:1}.vid .play{position:absolute;inset:0;display:grid;place-items:center}.vid .play i{width:56px;height:56px;border-radius:99px;background:#ffffffeb;display:grid;place-items:center;box-shadow:0 8px 24px #0000004d;transition:transform var(--t) var(--spring)}.vid:hover .play i{transform:scale(1.12)}.vid .play i:before{content:"";border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent var(--ink);margin-left:4px}.vid-bar{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(transparent,#000000bf);display:flex;align-items:center;gap:9px;color:#fff}.vid-prog{flex:1;height:3.5px;background:#ffffff4d;border-radius:99px;overflow:hidden}.vid-prog i{display:block;height:100%;width:34%;background:var(--accent);border-radius:99px}.vid-time{font-size:10.5px;font-weight:700}.vid-live{position:absolute;top:10px;left:10px;background:var(--dang);color:#fff;font-size:9.5px;font-weight:800;padding:3px 8px;border-radius:99px;letter-spacing:.5px}.doc{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;max-width:430px;cursor:pointer;transition:all var(--t) var(--spring);position:relative;overflow:hidden}.doc:hover{border-color:var(--brand-300);transform:translateY(-2px);box-shadow:var(--sh-2)}.doc-thumb{width:46px;height:56px;border-radius:9px;flex:0 0 46px;position:relative;overflow:hidden;box-shadow:0 3px 10px #0c102424;background:#fff;border:1px solid var(--line)}.doc-thumb .lines{padding:7px 5px;display:flex;flex-direction:column;gap:3px}.doc-thumb .lines i{height:2.5px;border-radius:2px;background:#dfe3ee;display:block}.doc-thumb .ext{position:absolute;left:0;right:0;bottom:0;padding:2.5px 0;text-align:center;font-size:7.5px;font-weight:800;color:#fff;letter-spacing:.4px}.doc-info{min-width:0;flex:1}.doc-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-sub{font-size:11px;color:var(--ink-3);font-weight:600;margin-top:2px;display:flex;align-items:center;gap:7px}.doc-act{display:flex;gap:4px;opacity:0;transform:translate(6px);transition:all var(--t) var(--spring)}.doc:hover .doc-act{opacity:1;transform:none}.doc-act button,.doc-act span{width:30px;height:30px;border-radius:10px;background:var(--surface-3);display:grid;place-items:center;color:var(--ink-3)}.doc-act button:hover,.doc-act span:hover{background:var(--brand);color:#fff}.audio{display:flex;align-items:center;gap:12px;background:var(--brand-50);border-radius:var(--r-full);padding:9px 16px 9px 9px;max-width:320px}html[data-theme=dark] .audio{background:var(--brand-100)}.audio .pbtn{width:34px;height:34px;border-radius:99px;background:var(--brand);display:grid;place-items:center;color:#fff;flex:0 0 34px}.audio .bars{flex:1;display:flex;align-items:center;gap:2.5px;height:24px}.audio .bars i{flex:1;background:var(--brand-300);border-radius:99px;animation:vm 1.4s var(--ease) infinite}.audio-time{font-size:11px;font-weight:800;color:var(--brand)}@keyframes vm{0%,to{height:22%}50%{height:82%}}.lightbox{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:#050710eb;animation:fadeIn .18s var(--ease) both}.lightbox-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;color:#fff}.lightbox-meta{display:flex;align-items:baseline;gap:10px;min-width:0}.lightbox-name{font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-size{font-size:12px;color:#fff9;font-weight:600;flex:0 0 auto}.lightbox-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.lightbox-btn{width:36px;height:36px;border-radius:999px;background:#ffffff1a;color:#fff;display:grid;place-items:center;transition:all var(--t) var(--spring)}.lightbox-btn:hover{background:#fff3;transform:scale(1.06)}.lightbox-btn:disabled{opacity:.35;cursor:default}.lightbox-btn:disabled:hover{background:#ffffff1a;transform:none}.lightbox-zoom-pct{font-size:12px;font-weight:700;color:#ffffffbf;min-width:38px;text-align:center}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:999px;background:#ffffff1a;color:#fff;display:grid;place-items:center;transition:all var(--t) var(--spring)}.lightbox-nav:hover{background:#fff3}.lightbox-nav.prev{left:18px}.lightbox-nav.next{right:18px}.lightbox-stage{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:0 70px 20px;overflow:hidden}.lightbox-img{max-width:100%;max-height:calc(100vh - 110px);object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:4px;transition:transform .08s linear}.lightbox-video{max-width:100%;max-height:calc(100vh - 110px);border-radius:var(--r-md)}.lightbox-pdf{width:min(900px,100%);height:calc(100vh - 110px);border:none;border-radius:var(--r-md);background:#fff}.lightbox-fallback{color:#ffffffb3;font-size:14px;font-weight:600}.task-embed{margin-top:10px;max-width:440px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:all var(--t) var(--spring);cursor:pointer;position:relative}.task-embed:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:var(--sh-2)}.task-embed:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--brand),var(--violet))}.te-head{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--surface-2);border-bottom:1px solid var(--line-2);font-size:10.5px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.6px}.te-head svg{width:13px;height:13px;color:var(--brand)}.te-body{padding:13px 14px}.te-title{font-size:14px;font-weight:800;letter-spacing:-.2px;margin-bottom:8px}.te-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:11px}.te-foot{display:flex;align-items:center;gap:10px}.te-prog{flex:1;height:6px;background:var(--surface-3);border-radius:99px;overflow:hidden}.te-prog i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--accent));animation:grow 1.2s var(--spring) both}@keyframes grow{0%{width:0}}.te-actions{display:flex;gap:6px;padding:0 14px 13px}.te-actions .btn{padding:6px 12px;font-size:11.5px}.link-prev{margin-top:10px;max-width:430px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface);cursor:pointer;transition:all var(--t) var(--spring)}.link-prev:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:var(--brand-300)}.lp-img{height:110px;background:linear-gradient(120deg,#466bf2,#8b5cf6 60%,#ec4899)}.lp-b{padding:11px 13px}.lp-t{font-size:13px;font-weight:800}.lp-d{font-size:11.5px;color:var(--ink-3);font-weight:500;margin-top:3px;line-height:1.5}.lp-u{font-size:10.5px;color:var(--ink-4);font-weight:700;margin-top:6px;text-transform:uppercase;letter-spacing:.4px}.typing{display:flex;align-items:center;gap:9px;padding:8px 26px 6px;font-size:12px;color:var(--ink-3);font-weight:600}.dots{display:flex;gap:3px;padding:6px 10px;background:var(--surface);border-radius:99px;box-shadow:var(--sh-1)}.dots i{width:5px;height:5px;border-radius:99px;background:var(--brand);animation:bounce 1.3s var(--ease) infinite}.dots i:nth-child(2){animation-delay:.18s}.dots i:nth-child(3){animation-delay:.36s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}.composer-wrap{padding:6px 26px 20px}.composer{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-lg);transition:all var(--t) var(--ease);overflow:hidden}.composer:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-50)}.comp-chips{display:flex;gap:7px;padding:11px 14px 0;flex-wrap:wrap}.chip-file{display:flex;align-items:center;gap:8px;background:var(--surface-3);border-radius:11px;padding:6px 10px;font-size:11.5px;font-weight:700;animation:msgIn .35s var(--spring)}.chip-file .x{width:16px;height:16px;border-radius:99px;background:var(--ink-4);color:#fff;font-size:10px;display:grid;place-items:center;transition:all var(--t) var(--spring)}.chip-file .x:hover{background:var(--dang);transform:rotate(90deg)}.chip-thumb{width:26px;height:26px;border-radius:7px}.comp-in{padding:13px 16px 4px;font-size:14px;line-height:1.6;min-height:24px;color:var(--ink);outline:none}.comp-in:empty:before{content:attr(data-ph);color:var(--ink-4)}.comp-bar{display:flex;align-items:center;gap:3px;padding:6px 10px 9px 12px}.cb{width:33px;height:33px;border-radius:11px;display:grid;place-items:center;color:var(--ink-3);transition:all var(--t) var(--spring)}.cb svg{width:17px;height:17px}.cb:hover{background:var(--brand-50);color:var(--brand);transform:translateY(-2px)}.cb.acc:hover,.cb.acc.on{background:var(--accent-100);color:#8a6d00}html[data-theme=dark] .cb.acc:hover,html[data-theme=dark] .cb.acc.on{color:var(--accent)}.cb-div{width:1px;height:18px;background:var(--line);margin:0 5px}.send{margin-left:auto;width:38px;height:38px;border-radius:13px;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:var(--sh-brand);transition:all var(--t) var(--spring)}.send:hover{transform:translateY(-2px) rotate(-8deg) scale(1.05)}.send:active{transform:scale(.9)}.send svg{width:17px;height:17px}.comp-hint{font-size:10.5px;color:var(--ink-4);font-weight:600;margin-left:6px}.mention-pop{position:absolute;bottom:100px;left:36px;width:290px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-3);padding:7px;z-index:30;display:none;animation:popIn .3s var(--spring)}.mention-pop.on{display:block}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}.mp-h{font-size:10px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:.8px;padding:6px 9px}.mp-row{display:flex;align-items:center;gap:10px;padding:7px 9px;border-radius:11px;cursor:pointer}.mp-row:hover,.mp-row.sel{background:var(--brand-50)}.mp-n{font-size:13px;font-weight:700}.mp-r{font-size:10.5px;color:var(--ink-3);font-weight:600}.mp-div{height:1px;background:var(--line-2);margin:6px 4px}.plus-menu{position:absolute;top:calc(100% + 6px);right:0;width:210px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-3);padding:7px;z-index:30;animation:popIn .3s var(--spring)}.emoji-pop{position:absolute;bottom:100px;left:36px;width:320px;max-height:320px;overflow-y:auto;overflow-x:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-3);padding:7px;z-index:30;animation:popIn .3s var(--spring)}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:0 3px 6px}.emoji-cell{width:100%;aspect-ratio:1;display:grid;place-items:center;font-size:19px;border-radius:8px;transition:all var(--t-fast) var(--spring)}.emoji-cell:hover{background:var(--brand-50);transform:scale(1.15)}.mp-key{margin-left:auto;font-size:9.5px;font-weight:800;color:var(--ink-4);background:var(--surface-3);padding:2px 6px;border-radius:5px}.panel{width:var(--panel-w);flex:0 0 var(--panel-w);background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.panel-h{height:62px;flex:0 0 62px;display:flex;align-items:center;gap:9px;padding:0 16px;border-bottom:1px solid var(--line)}.panel-h h3{font-size:14px;font-weight:800;letter-spacing:-.2px}.panel-b{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px}.pn-sec{margin-bottom:20px}.pn-t{font-size:10.5px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px}.file-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;cursor:pointer;transition:background var(--t-fast)}.file-row:hover{background:var(--surface-3)}.fr-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff}.fr-n{font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fr-s{font-size:10.5px;color:var(--ink-3);font-weight:600}.member{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:12px;transition:background var(--t-fast);border:none;background:none;font:inherit;color:inherit;cursor:pointer}.member:hover{background:var(--surface-3)}.m-n{font-size:12.5px;font-weight:700}.m-r{font-size:10.5px;color:var(--ink-3);font-weight:600}.toast-zone{position:fixed;bottom:26px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:10px;align-items:center;pointer-events:none}.toast{display:flex;align-items:center;gap:11px;background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--r-full);font-size:13px;font-weight:700;box-shadow:var(--sh-3);animation:toastIn .5s var(--spring)}html[data-theme=dark] .toast{background:var(--surface-3);border:1px solid var(--line)}.toast .tick{width:22px;height:22px;border-radius:99px;background:var(--accent);color:var(--ink);display:grid;place-items:center;font-size:12px;font-weight:900}@keyframes toastIn{0%{opacity:0;transform:translateY(24px) scale(.9)}to{opacity:1;transform:none}}.toast.out{animation:toastOut .35s var(--ease) forwards}@keyframes toastOut{to{opacity:0;transform:translateY(14px) scale(.94)}}.board-head{padding:16px 22px 12px;background:var(--surface);border-bottom:1px solid var(--line)}.bh-top{display:flex;align-items:center;gap:12px}.bh-title{font-size:21px;font-weight:800;letter-spacing:-.6px;display:flex;align-items:center;gap:9px}.bh-title .star{color:var(--accent);font-size:17px}.bh-bar{display:flex;align-items:center;gap:9px;margin-top:13px;flex-wrap:wrap}.seg{display:flex;background:var(--surface-3);border-radius:var(--r-full);padding:3px}.seg button{padding:6px 13px;border-radius:var(--r-full);font-size:12px;font-weight:700;color:var(--ink-3);transition:all var(--t) var(--spring)}.seg button.on{background:var(--surface);color:var(--brand);box-shadow:var(--sh-1)}.filter{display:flex;align-items:center;gap:7px;padding:7px 13px;border:1.5px solid var(--line);border-radius:var(--r-full);font-size:12px;font-weight:700;color:var(--ink-2);transition:all var(--t) var(--spring)}.filter:hover{border-color:var(--brand-300);color:var(--brand)}.filter svg{width:14px;height:14px}.prog-strip{margin-left:auto;display:flex;align-items:center;gap:11px}.ring{width:36px;height:36px;position:relative}.ring svg{transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:4;stroke-linecap:round}.ring .bgc{stroke:var(--surface-3)}.ring .fgc{stroke:var(--brand);stroke-dasharray:100;stroke-dashoffset:100;animation:ringIn 1.4s var(--spring) forwards}@keyframes ringIn{to{stroke-dashoffset:38}}.ring span{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:800}.board{flex:1;overflow-x:auto;overflow-y:hidden;display:flex;gap:14px;padding:18px 22px 22px;align-items:flex-start}.col{width:296px;flex:0 0 296px;background:var(--surface-2);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:100%;border:1px solid var(--line-2)}.col-h{display:flex;align-items:center;gap:9px;padding:14px 15px 11px}.col-dot{width:9px;height:9px;border-radius:99px}.col-n{font-size:12.5px;font-weight:800;letter-spacing:-.1px}.col-c{font-size:10.5px;font-weight:800;color:var(--ink-3);background:var(--surface-3);padding:2px 8px;border-radius:99px}.col-h .icon-btn{width:26px;height:26px;margin-left:auto}.col-h .icon-btn svg{width:14px;height:14px}.col-b{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 10px 10px;display:flex;flex-direction:column;gap:9px}.col-add{margin:0 10px 12px;padding:10px;border-radius:var(--r-md);border:1.5px dashed var(--line);color:var(--ink-3);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:all var(--t) var(--spring)}.col-add:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-50)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:13px;cursor:grab;transition:all var(--t) var(--spring);position:relative;animation:msgIn .45s var(--spring) both}.card:hover{transform:translateY(-3px) rotate(-.5deg);box-shadow:var(--sh-2);border-color:var(--brand-300)}.card:active{cursor:grabbing;transform:scale(1.03) rotate(1.5deg)}.card-labels{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.lbl{font-size:9.5px;font-weight:800;padding:3px 8px;border-radius:99px;letter-spacing:.3px;text-transform:uppercase}.card-lbls{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.lbl2{font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:99px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lbl2-more{background:var(--surface-3);color:var(--ink-4);font-weight:700}.card-t{font-size:13.5px;font-weight:700;line-height:1.45;letter-spacing:-.15px}.card-d{font-size:11.5px;color:var(--ink-3);font-weight:500;line-height:1.5;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-d .md-compact p,.card-d .md-compact ul,.card-d .md-compact ol,.card-d .md-compact li,.card-d .md-compact h1,.card-d .md-compact h2,.card-d .md-compact h3,.card-d .md-compact h4,.card-d .md-compact h5,.card-d .md-compact h6,.card-d .md-compact blockquote,.card-d .md-compact pre{display:inline;margin:0;font:inherit;color:inherit}.card-d .md-compact li+li:before{content:" · "}.card-d .md-compact code{font-family:ui-monospace,Menlo,monospace;font-size:.95em}.card-d .md-compact a{color:inherit;text-decoration:underline}.md{font-size:inherit;line-height:inherit;color:inherit}.md>*:first-child{margin-top:0}.md>*:last-child{margin-bottom:0}.md p{margin:0 0 10px}.md ul,.md ol{margin:0 0 10px;padding-left:22px}.md li{margin:3px 0}.md li::marker{color:var(--ink-4)}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{font-weight:800;letter-spacing:-.2px;margin:16px 0 8px;line-height:1.3}.md h1{font-size:1.35em}.md h2{font-size:1.2em}.md h3,.md h4,.md h5,.md h6{font-size:1.05em}.md strong{font-weight:700;color:var(--ink)}.md a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}.md code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:var(--surface-3);padding:1px 5px;border-radius:5px}.md pre{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;overflow-x:auto;margin:0 0 10px}.md pre code{background:none;padding:0}.md blockquote{margin:0 0 10px;padding-left:12px;border-left:2px solid var(--line);color:var(--ink-3)}.md table{border-collapse:collapse;margin:0 0 10px;font-size:.95em}.md th,.md td{border:1px solid var(--line);padding:5px 9px;text-align:left}.md hr{border:none;border-top:1px solid var(--line);margin:14px 0}.card-cover{height:78px;border-radius:11px;margin:-3px 0 10px;position:relative;overflow:hidden}.card-chk{display:flex;align-items:center;gap:8px;margin-top:10px}.chk-bar{flex:1;height:5px;background:var(--surface-3);border-radius:99px;overflow:hidden}.chk-bar i{display:block;height:100%;background:var(--brand);border-radius:99px;animation:grow 1s var(--spring) both}.chk-bar.done i{background:var(--ok)}.chk-n{font-size:10px;font-weight:800;color:var(--ink-3)}.card-f{display:flex;align-items:center;gap:9px;margin-top:11px;padding-top:11px;border-top:1px solid var(--line-2)}.cf-i{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:var(--ink-3)}.cf-i svg{width:13px;height:13px}.cf-i.due{color:var(--dang);background:var(--dang-bg);padding:3px 8px;border-radius:99px}.cf-i.due.soon{color:var(--warn);background:var(--warn-bg)}.cf-i.prio{color:#8a6d00;background:var(--accent-100);padding:3px 8px;border-radius:99px}.card-f .face-stack{margin-left:auto}.card-f .face-stack .avat{border-color:var(--surface)}.card-share{position:absolute;top:9px;right:9px;width:28px;height:28px;border-radius:9px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-3);opacity:0;transform:scale(.8);transition:all var(--t) var(--spring);box-shadow:var(--sh-1);z-index:3}.card:hover .card-share{opacity:1;transform:none}.card-share:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.card-share svg{width:14px;height:14px}.card.ghost{opacity:.5;border-style:dashed;background:var(--brand-50)}.mention-chip{display:inline-flex;align-items:center;gap:4px;background:var(--brand-50);color:var(--brand);font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:99px;margin-top:8px}.overlay{position:fixed;inset:0;background:#0c10248c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:150;display:none;align-items:center;justify-content:center;padding:30px}.overlay.on{display:flex;animation:fadeIn .25s var(--ease)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:760px;max-height:88vh;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--sh-3);overflow:hidden;display:flex;flex-direction:column;animation:modalIn .42s var(--spring)}@keyframes modalIn{0%{opacity:0;transform:translateY(28px) scale(.95)}to{opacity:1;transform:none}}.has-bottom-nav .overlay{padding:12px}.has-bottom-nav .modal{max-height:calc(92vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}.has-bottom-nav .modal-b{grid-template-columns:1fr;gap:0;padding:16px 16px 20px}.has-bottom-nav .modal-b>div+div{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.modal-cover{height:96px;background:linear-gradient(115deg,#466bf2,#8b5cf6 55%,#ec4899);position:relative}.modal-cover:after{content:"";position:absolute;inset:0;background:radial-gradient(200px 90px at 85% 15%,rgba(251,219,24,.5),transparent)}.modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:11px;background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;z-index:2;transition:all var(--t) var(--spring)}.modal-close:hover{background:#ffffff59;transform:rotate(90deg)}.modal-b{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 26px 26px;display:grid;grid-template-columns:1fr 216px;gap:26px}.mb-key{font-size:11px;font-weight:800;color:var(--brand);letter-spacing:.6px}.mb-title{font-size:21px;font-weight:800;letter-spacing:-.5px;margin:5px 0 14px;line-height:1.3}.mb-lab{font-size:10.5px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:.8px;margin:18px 0 8px}.mb-desc{font-size:13.5px;line-height:1.7;color:var(--ink-2)}.mb-desc-edit{min-height:220px}.mb-desc-preview{min-height:220px;max-height:420px;overflow-y:auto;overflow-x:hidden;padding:2px 0;cursor:text;border-radius:var(--r-sm)}.mb-desc-preview:hover{background:var(--surface-2)}.pf-avatar-wrap{position:relative;display:inline-flex;margin-top:-46px;border-radius:999px;cursor:pointer;background:none;border:none;padding:0;transition:transform var(--t) var(--spring)}.pf-avatar-wrap:hover,.pf-avatar-wrap:focus-visible{transform:scale(1.03)}.pf-avatar-wrap:disabled{cursor:default}.pf-avatar-overlay{position:absolute;inset:0;border-radius:999px;background:#0c102499;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#fff;font-size:10.5px;font-weight:700;opacity:0;transition:opacity var(--t) var(--ease)}.pf-avatar-wrap:hover .pf-avatar-overlay,.pf-avatar-wrap:focus-visible .pf-avatar-overlay,.pf-avatar-wrap:disabled .pf-avatar-overlay,.pf-avatar-wrap.dragging .pf-avatar-overlay{opacity:1}.pf-avatar-wrap.dragging{transform:scale(1.05)}.pf-avatar-wrap.dragging .pf-avatar-overlay{background:#466bf28c}.pf-avatar-badge{position:absolute;right:-2px;bottom:-2px;width:30px;height:30px;border-radius:999px;background:var(--brand);color:#fff;display:grid;place-items:center;border:3px solid var(--surface-0);box-shadow:0 2px 8px #466bf266;transition:transform var(--t) var(--spring)}.pf-avatar-wrap:hover .pf-avatar-badge{transform:scale(1.1)}.subtask-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:11px;transition:background var(--t-fast)}.subtask-row:hover{background:var(--surface-2)}.subtask-row .box{width:19px;height:19px;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;flex:0 0 19px;transition:all var(--t) var(--spring);cursor:pointer;color:transparent;font-size:11px;font-weight:900}.subtask-row .box.done{background:var(--ok);border-color:var(--ok);color:#fff}.subtask-row .box:hover{border-color:var(--brand);transform:scale(1.12)}.subtask-t{font-size:13px;font-weight:600;color:var(--ink-2)}.subtask-row .box.done+.subtask-t{text-decoration:line-through;color:var(--ink-4)}.member .box{width:19px;height:19px;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;flex:0 0 19px;transition:all var(--t) var(--spring);color:transparent;font-size:11px;font-weight:900}.member .box.done{background:var(--ok);border-color:var(--ok);color:#fff}.side-fld{margin-bottom:15px}.side-fld .k{font-size:10.5px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:.7px;margin-bottom:7px}.side-val{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:11px;background:var(--surface-2);font-size:12.5px;font-weight:700;cursor:pointer;transition:all var(--t) var(--spring)}.side-val:hover{background:var(--surface-3);transform:translate(2px)}.cmt{display:flex;gap:11px;margin-top:14px}.cmt-b{flex:1;background:var(--surface-2);border-radius:14px;padding:11px 13px}.cmt-n{font-size:12px;font-weight:800}.cmt-x{font-size:12.5px;color:var(--ink-2);line-height:1.6;margin-top:3px}.cmt-in{flex:1;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:11px 13px;font-size:12.5px;color:var(--ink-4);transition:all var(--t) var(--ease)}.cmt-in:hover{border-color:var(--brand-300)}.call{flex:1;display:flex;flex-direction:column;background:#070a16;position:relative;overflow:hidden}.call.lk-room-container{background:#070a16}.call:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;top:-180px;left:-120px;background:radial-gradient(circle,rgba(70,107,242,.35),transparent 68%);filter:blur(38px);animation:blob 16s var(--ease) infinite}.call:after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;bottom:-150px;right:-90px;background:radial-gradient(circle,rgba(251,219,24,.22),transparent 68%);filter:blur(38px);animation:blob 20s var(--ease) infinite reverse}@keyframes blob{0%,to{transform:translate(0) scale(1)}50%{transform:translate(60px,40px) scale(1.15)}}.call-head{height:60px;flex:0 0 60px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:2;color:#fff}.call-title{font-size:14.5px;font-weight:800;letter-spacing:-.2px;display:flex;align-items:center;gap:9px}.rec-pill{display:flex;align-items:center;gap:6px;background:#f0453a29;border:1px solid rgba(240,69,58,.4);color:#ff8078;font-size:10.5px;font-weight:800;padding:4px 10px;border-radius:99px}.rec-pill i{width:6px;height:6px;border-radius:99px;background:var(--dang);animation:dotPulse 1.4s infinite}.call-sub{font-size:11.5px;color:#ffffff80;font-weight:600;margin-top:1px}.call-head .icon-btn{color:#ffffffa6}.call-head .icon-btn:hover{background:#ffffff1a;color:#fff}.call-body{flex:1;display:flex;min-height:0;position:relative;z-index:2}.stage-wrap{flex:1;padding:18px;display:flex;flex-direction:column;gap:12px;min-width:0}.call-stage{flex:1;min-height:0;border-radius:var(--r-lg);background:linear-gradient(160deg,#111a3a,#0b1027);border:1px solid rgba(255,255,255,.09);--lk-bg: #070a16;--lk-bg2: #151b34;--lk-fg: #fff;--lk-accent-bg: var(--accent);--lk-border-color: rgba(255, 255, 255, .09);--lk-border-radius: var(--r-md)}.sl-kicker{font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent)}.sl-title{font-size:27px;font-weight:800;letter-spacing:-.8px;margin-top:5px}.sl-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{background:#ffffff0f;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:13px 15px}.kpi-l{font-size:10px;font-weight:700;color:#ffffff8c;text-transform:uppercase;letter-spacing:.7px}.kpi-v{font-size:24px;font-weight:800;letter-spacing:-.8px;margin-top:5px}.kpi-d{font-size:10.5px;font-weight:700;margin-top:3px}.sl-charts{flex:1;display:grid;grid-template-columns:1.6fr 1fr;gap:14px;min-height:0}.panel-dark{background:#ffffff0d;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;min-height:0}.pd-t{font-size:11.5px;font-weight:800;color:#ffffffbf;margin-bottom:12px}.bars-chart{flex:1;display:flex;align-items:flex-end;gap:12px;padding-bottom:20px;position:relative;min-height:90px}.bar-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;position:relative}.bar{width:100%;max-width:34px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#6b86f7,#2743c4);animation:barUp 1.1s var(--spring) both}.bar.acc{background:linear-gradient(180deg,#fbdb18,#e6c400)}@keyframes barUp{0%{height:0!important;opacity:0}}.bar-x{position:absolute;bottom:-17px;font-size:9.5px;font-weight:700;color:#ffffff73}.donut{flex:1;display:grid;place-items:center;position:relative}.donut svg{transform:rotate(-90deg)}.donut circle{fill:none;stroke-width:13;stroke-linecap:round}.donut .t{stroke:#ffffff14}.donut .v{stroke:var(--accent);stroke-dasharray:314;stroke-dashoffset:314;animation:donutIn 1.6s var(--spring) forwards}@keyframes donutIn{to{stroke-dashoffset:88}}.donut .mid{position:absolute;text-align:center}.donut .mid b{font-size:22px;font-weight:800;letter-spacing:-.6px}.donut .mid span{display:block;font-size:9.5px;font-weight:700;color:#ffffff80;margin-top:1px}.cursor-lbl{position:absolute;bottom:44px;left:38%;display:flex;align-items:center;gap:6px;animation:cursorMove 6s var(--ease) infinite}@keyframes cursorMove{0%,to{transform:translate(0)}33%{transform:translate(130px,-58px)}66%{transform:translate(-60px,-24px)}}.cursor-lbl .arrow{width:0;height:0;border-style:solid;border-width:0 6px 13px 6px;border-color:transparent transparent var(--accent) transparent;transform:rotate(-35deg)}.cursor-lbl span{background:var(--accent);color:var(--ink);font-size:10px;font-weight:800;padding:3px 8px;border-radius:7px}.tile-hand{position:absolute;left:9px;top:9px;background:var(--accent);color:var(--on-accent);width:24px;height:24px;border-radius:99px;display:grid;place-items:center;font-size:13px;z-index:2;animation:handWave 1.6s var(--spring) infinite}@keyframes handWave{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}.call-panel{width:300px;flex:0 0 300px;background:#ffffff0b;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;color:#fff}.cp-tabs{display:flex;gap:4px;padding:12px 12px 8px}.cp-tab{flex:1;padding:8px;border-radius:11px;font-size:11.5px;font-weight:700;color:#ffffff8c;transition:all var(--t) var(--spring)}.cp-tab.on{background:#ffffff1f;color:#fff}.cp-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 14px 14px;display:flex;flex-direction:column;gap:13px}.cm{display:flex;gap:9px;animation:msgIn .5s var(--spring) both}.cm-b{flex:1}.cm-n{font-size:11px;font-weight:800;color:#ffffffd9}.cm-t{font-size:12.5px;color:#ffffffb8;line-height:1.55;margin-top:2px}.cp-in{margin:0 14px 14px;background:#ffffff14;border-radius:14px;padding:10px 13px;font-size:12.5px;color:#ffffff73;display:flex;align-items:center;gap:8px}.cp-in input{flex:1;min-width:0;background:none;border:0;font:inherit;color:#fff}.cp-in input::placeholder{color:#ffffff73}.cp-send{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:var(--brand);color:#fff;transition:opacity var(--t) var(--spring),transform var(--t) var(--spring)}.cp-send:disabled{opacity:.35}.cp-send:not(:disabled):hover{transform:translateY(-1px)}.cm-time{margin-left:6px;font-size:10px;font-weight:600;color:#fff6}.cp-dot{display:inline-block;margin-left:5px;padding:1px 5px;border-radius:99px;background:var(--accent);color:var(--on-accent);font-size:9.5px;font-weight:800}.cp-empty{padding:6px 2px;font-size:12px;font-weight:600;line-height:1.6;color:#ffffff73}.call-bar{flex:0 0 96px;display:flex;align-items:center;justify-content:center;gap:9px;position:relative;z-index:3;border-top:1px solid rgba(255,255,255,.08);padding-bottom:14px}.cbtn{width:50px;height:50px;border-radius:17px;background:#ffffff17;color:#fff;display:grid;place-items:center;transition:all var(--t) var(--spring);position:relative}.cbtn:hover{background:#ffffff2b;transform:translateY(-3px)}.cbtn svg{width:20px;height:20px}.cbtn.off{background:#f0453ae6}.cbtn.on-acc{background:var(--accent);color:var(--on-accent)}.cbtn.end{width:76px;background:var(--dang);box-shadow:0 8px 24px #f0453a6b}.cbtn.end:hover{background:#d63a30}.cbtn-lbl{position:absolute;bottom:-19px;left:50%;transform:translate(-50%);font-size:9.5px;font-weight:700;color:#fff6;white-space:nowrap}.float-emoji{position:absolute;bottom:90px;font-size:26px;pointer-events:none;animation:floatUp 2.6s var(--ease) forwards;z-index:20}@keyframes floatUp{0%{opacity:0;transform:translateY(0) scale(.5)}15%{opacity:1;transform:translateY(-20px) scale(1.2)}to{opacity:0;transform:translateY(-230px) scale(.9) rotate(18deg)}}.meet-wrap{flex:1;overflow-y:auto;overflow-x:hidden;padding:26px 30px}.mt-hero{background:linear-gradient(120deg,var(--brand),#6d33e0 70%,#8b5cf6);border-radius:var(--r-xl);padding:26px 28px;color:#fff;position:relative;overflow:hidden;margin-bottom:22px}.mt-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-70px;top:-110px;background:radial-gradient(circle,rgba(251,219,24,.45),transparent 66%);animation:blob 14s var(--ease) infinite}.mt-h-lab{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;opacity:.8}.mt-h-t{font-size:25px;font-weight:800;letter-spacing:-.7px;margin:7px 0 5px;position:relative;z-index:1}.mt-h-s{font-size:13px;opacity:.85;font-weight:600;position:relative;z-index:1}.mt-h-row{display:flex;align-items:center;gap:12px;margin-top:18px;position:relative;z-index:1}.countdown{display:flex;gap:7px}.cd-box{background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:13px;padding:8px 12px;text-align:center;min-width:52px}.cd-n{font-size:19px;font-weight:800;line-height:1}.cd-l{font-size:9px;font-weight:700;opacity:.75;text-transform:uppercase;letter-spacing:.6px;margin-top:3px}.mt-grid{display:grid;grid-template-columns:1fr 292px;gap:20px;align-items:start}.sec-t{font-size:15px;font-weight:800;letter-spacing:-.3px;margin-bottom:12px;display:flex;align-items:center;gap:9px}.mt-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;display:flex;align-items:center;gap:15px;margin-bottom:11px;transition:all var(--t) var(--spring);cursor:pointer;animation:msgIn .5s var(--spring) both}.mt-card:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--brand-300)}.mt-time{text-align:center;flex:0 0 62px;padding-right:15px;border-right:1px solid var(--line)}.mt-time .h{font-size:17px;font-weight:800;letter-spacing:-.4px}.mt-time .m{font-size:10.5px;font-weight:700;color:var(--ink-3);margin-top:2px}.mt-body{flex:1;min-width:0}.mt-t{font-size:14px;font-weight:800;letter-spacing:-.2px;display:flex;align-items:center;gap:8px}.mt-s{font-size:11.5px;color:var(--ink-3);font-weight:600;margin-top:4px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.mt-s i{width:3px;height:3px;border-radius:99px;background:var(--ink-4);display:inline-block}.mt-right{display:flex;align-items:center;gap:11px;flex:0 0 auto}.cal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.cal-m{font-size:13.5px;font-weight:800}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.cal-grid .dow{font-size:9.5px;font-weight:800;color:var(--ink-4);padding:5px 0}.cal-d{aspect-ratio:1;display:grid;place-items:center;font-size:11.5px;font-weight:700;border-radius:10px;color:var(--ink-2);cursor:pointer;position:relative;transition:all var(--t) var(--spring)}.cal-d:hover{background:var(--surface-3);transform:scale(1.1)}.cal-d.mut{color:var(--ink-4);opacity:.5}.cal-d.today{background:var(--brand);color:#fff;box-shadow:var(--sh-brand)}.cal-d.has:after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:99px;background:var(--accent)}.cal-d.today.has:after{background:#fff}.cal-d.sel{box-shadow:inset 0 0 0 2px var(--brand)}.ds-wrap{flex:1;overflow-y:auto;overflow-x:hidden;padding:30px 36px 60px}.ds-hero{max-width:720px;margin-bottom:34px}.ds-kicker{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--brand)}.ds-h1{font-size:38px;font-weight:800;letter-spacing:-1.4px;line-height:1.1;margin:9px 0 12px}.ds-h1 em{font-style:normal;background:linear-gradient(100deg,var(--brand),var(--violet));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ds-h1 mark{background:var(--accent);color:var(--ink);padding:0 7px;border-radius:8px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.ds-lead{font-size:15px;line-height:1.7;color:var(--ink-2)}.ds-sec{margin-bottom:36px}.ds-t{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--ink-4);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:18px}.sw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:12px}.sw-card{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--surface);transition:all var(--t) var(--spring)}.sw-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.sw-chip{height:74px}.sw-meta{padding:10px 12px}.sw-n{font-size:12px;font-weight:800}.sw-h{font-size:10.5px;font-family:ui-monospace,Menlo,monospace;color:var(--ink-3);margin-top:2px;font-weight:600}.sw-use{font-size:10px;color:var(--ink-4);font-weight:600;margin-top:5px}.type-row{display:flex;align-items:baseline;gap:18px;padding:13px 0;border-bottom:1px solid var(--line-2)}.type-row .lab{font-size:10.5px;font-weight:800;color:var(--ink-4);width:112px;flex:0 0 112px;font-family:ui-monospace,Menlo,monospace}.comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:14px}.comp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:17px}.comp-lab{font-size:10.5px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:.8px;margin-bottom:13px}.comp-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.motion-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:17px;overflow:hidden}.motion-demo{height:56px;background:var(--surface-2);border-radius:12px;display:flex;align-items:center;padding:0 14px;margin-bottom:12px}.motion-ball{width:26px;height:26px;border-radius:9px;background:var(--brand)}.motion-card:hover .motion-ball{animation:slide 1.5s var(--spring) infinite alternate}@keyframes slide{to{transform:translate(140px)}}.mo-n{font-size:12.5px;font-weight:800}.mo-c{font-size:10.5px;font-family:ui-monospace,Menlo,monospace;color:var(--ink-3);margin-top:3px;word-break:break-all}.principle{display:flex;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.pr-ico{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font-size:19px;flex:0 0 40px}.pr-t{font-size:13.5px;font-weight:800;margin-bottom:4px}.pr-d{font-size:12px;line-height:1.6;color:var(--ink-3);font-weight:500}@media(max-width:1500px){.panel{display:none}}@media(max-width:1240px){.mt-grid{grid-template-columns:1fr}.call-panel{display:none}}@media(max-width:1080px){:root{--side-w: 236px}.searchbox{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:var(--surface)}.auth-art{position:relative;overflow:hidden;padding:48px 52px;display:flex;flex-direction:column;color:#fff;background:linear-gradient(150deg,#2743c4,#466bf2 45%,#8b5cf6)}.auth-art:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-160px;bottom:-180px;background:radial-gradient(circle,rgba(251,219,24,.42),transparent 66%);filter:blur(10px);animation:blob 18s var(--ease) infinite}.auth-art .brand{border:none;padding:0;position:relative;z-index:1}.auth-art .brand-logo{filter:brightness(0) invert(1);height:28px}.auth-art-body{margin-top:auto;position:relative;z-index:1;max-width:460px}.auth-h1{font-size:38px;font-weight:800;letter-spacing:-1.3px;line-height:1.12}.auth-h1 mark{background:var(--accent);color:var(--ink);padding:0 8px;border-radius:9px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.auth-lead{font-size:15px;line-height:1.7;opacity:.88;margin-top:16px}.auth-points{display:flex;gap:18px;margin-top:28px;flex-wrap:wrap}.auth-point{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700}.auth-point i{width:26px;height:26px;border-radius:9px;background:#ffffff29;display:grid;place-items:center;font-style:normal;font-size:13px}.legal-page{min-height:100vh;display:flex;justify-content:center;padding:56px 24px 80px;background:var(--surface-2)}.legal-page-inner{width:100%;max-width:680px}.legal-page-logo{height:26px;width:auto;display:block;margin-bottom:32px}.legal-page-title{font-size:28px;font-weight:800;letter-spacing:-.6px}.legal-page-updated{font-size:13px;font-weight:600;color:var(--ink-4);margin:6px 0 28px}.auth-form-wrap{display:grid;place-items:center;padding:40px}.auth-form{width:100%;max-width:380px}.auth-title{font-size:25px;font-weight:800;letter-spacing:-.7px}.auth-sub{font-size:13.5px;color:var(--ink-3);font-weight:600;margin-top:6px}.field{margin-top:16px}.field label{display:block;font-size:11.5px;font-weight:800;color:var(--ink-2);margin-bottom:7px}.field input,.field textarea,.fld-sec input,.fld-sec textarea,.nc-grid input,.contact-input{width:100%;padding:12px 14px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface);font-size:14px;font-weight:500;transition:all var(--t) var(--ease)}.field textarea,.fld-sec textarea{font-family:inherit;line-height:1.6;resize:vertical}.field input:focus,.field textarea:focus,.fld-sec input:focus,.nc-grid input:focus,.contact-input:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-50)}.field input::placeholder,.field textarea::placeholder,.fld-sec input::placeholder,.nc-grid input::placeholder,.contact-input::placeholder{color:var(--ink-4)}html.native .field input,html.native .field textarea,html.native .fld-sec input,html.native .fld-sec textarea,html.native .nc-grid input,html.native .contact-input,html.native .comp-in,html.native .searchbox input,html.native .f-search input,html.native .lf-search input,html.native .db-date-input,html.native .tpl-pop-input{font-size:16px}.opt-row{display:flex;align-items:flex-start;gap:9px;padding:8px 0;cursor:pointer;font-size:12.5px;font-weight:700;color:var(--ink-2)}.opt-row input{flex:0 0 auto;width:15px;height:15px;margin-top:1px;accent-color:var(--brand);cursor:pointer}.opt-row em{display:block;margin-top:3px;font-style:normal;font-size:11px;font-weight:600;line-height:1.5;color:var(--ink-4)}.auth-error{margin-top:16px;padding:11px 14px;border-radius:var(--r-md);background:var(--dang-bg);color:var(--dang);font-size:12.5px;font-weight:700;animation:msgIn .3s var(--spring)}.auth-submit{width:100%;justify-content:center;margin-top:20px;padding:13px;font-size:14px}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--ink-4);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.sso-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border:1.5px solid var(--line);border-radius:var(--r-md);font-size:13.5px;font-weight:700;margin-bottom:9px;transition:all var(--t) var(--spring);background:var(--surface)}.sso-btn:hover{border-color:var(--brand-300);transform:translateY(-2px);box-shadow:var(--sh-1)}.auth-foot{margin-top:22px;font-size:12.5px;color:var(--ink-3);font-weight:600;text-align:center}.auth-foot a{color:var(--brand);font-weight:800;text-decoration:none}.auth-demo{margin-top:20px;padding:13px 15px;border-radius:var(--r-md);background:var(--accent-50);border:1.5px solid var(--accent);font-size:12px;line-height:1.7}.auth-demo b{font-weight:800}@media(max-width:900px){.auth{grid-template-columns:1fr}.auth-art{display:none}}.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.center-state{flex:1;display:grid;place-items:center;padding:40px;text-align:center}.center-state .e{font-size:38px;margin-bottom:12px}.center-state h3{font-size:16px;font-weight:800;letter-spacing:-.3px}.center-state p{font-size:13px;color:var(--ink-3);font-weight:600;margin-top:6px;max-width:340px}.skeleton{background:var(--surface-3);border-radius:var(--r-sm);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:shimmer 1.6s var(--ease) infinite}html[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}.link-btn{color:var(--brand);font-weight:700;font-size:12.5px}.link-btn:hover{text-decoration:underline}.conn-dot{width:7px;height:7px;border-radius:99px;display:inline-block;background:var(--ok)}.conn-dot.off{background:var(--warn);animation:dotPulse 1.4s infinite}.grp-h .rot{transform:rotate(-90deg)}.roster-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.btn-xs{padding:5px 10px;font-size:11.5px;gap:5px}.btn-xs svg{width:12px;height:12px}.roster{max-height:230px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:2px}.roster-empty{font-size:12px;color:var(--ink-4);font-weight:600;padding:10px 2px}.roster-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--r-sm);transition:background var(--t) var(--ease)}.roster-row:hover{background:var(--surface-2)}.roster-x{width:26px;height:26px;border-radius:var(--r-full);display:grid;place-items:center;color:var(--ink-4);flex:0 0 auto;opacity:0;transition:all var(--t) var(--ease)}.roster-row:hover .roster-x{opacity:1}.roster-x:hover{background:var(--dang-bg);color:var(--dang)}.roster-x:disabled{opacity:.35;cursor:not-allowed}.roster-tag{font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:var(--r-full);background:var(--brand-50);color:var(--brand)}.bh-tabs{display:flex;gap:2px;background:var(--surface-3);padding:3px;border-radius:var(--r-full)}.bh-tabs button{padding:6px 14px;border-radius:var(--r-full);font-size:12.5px;font-weight:700;color:var(--ink-3);transition:all var(--t) var(--ease);display:inline-flex;align-items:center;gap:6px}.bh-tabs button:hover{color:var(--ink)}.bh-tabs button.on{background:var(--surface);color:var(--brand);box-shadow:var(--sh-1)}.filter.on{background:var(--brand-50);color:var(--brand);border-color:var(--brand-100)}.filter-count{background:var(--brand);color:#fff;font-size:10px;font-weight:800;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-full);display:grid;place-items:center}.filters{display:flex;flex-wrap:wrap;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line);background:var(--surface);animation:filtersIn .22s var(--ease)}@keyframes filtersIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.f-grp{display:flex;flex-direction:column;gap:6px;min-width:0}.f-grp>.k{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-4)}.f-chips{display:flex;gap:6px;flex-wrap:wrap}.f-chip{padding:5px 11px;border-radius:var(--r-full);font-size:11.5px;font-weight:700;background:var(--surface-3);color:var(--ink-2);transition:all var(--t) var(--ease);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.f-chip:hover{background:var(--line)}.f-chip.on{background:var(--brand);color:#fff}.f-chip.on .avat{box-shadow:0 0 0 2px #ffffff80}.db-filterbar{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.db-date-input{background:transparent;color:inherit;font-size:11.5px;font-weight:700;font-family:inherit;border:none;outline:none;color-scheme:light dark}.f-search{background:var(--surface-3);border-radius:var(--r-full);padding:7px 13px;font-size:12.5px;font-weight:600;color:var(--ink);width:210px;transition:box-shadow var(--t) var(--ease)}.f-search:focus{box-shadow:0 0 0 3px var(--brand-100)}.f-clear{align-self:flex-end;font-size:12px;font-weight:700;color:var(--ink-3)}.f-clear:hover{color:var(--dang)}.tbl-wrap{flex:1;overflow:auto;padding:0 22px 26px}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl thead th{position:sticky;top:0;z-index:2;background:var(--bg);text-align:left;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-4);padding:12px;border-bottom:1px solid var(--line);white-space:nowrap;-webkit-user-select:none;user-select:none}.tbl thead th.sortable{cursor:pointer;transition:color var(--t) var(--ease)}.tbl thead th.sortable:hover{color:var(--ink-2)}.tbl thead th .caret{margin-left:5px;font-size:9px;color:var(--brand)}.tbl tbody tr{cursor:pointer;transition:background var(--t) var(--ease)}.tbl tbody tr:hover{background:var(--surface-2)}.tbl tbody td{padding:11px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}.tbl .t-key{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:11.5px;font-weight:700;color:var(--ink-4);white-space:nowrap}.tbl .t-title{font-weight:700;color:var(--ink);max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbl tbody tr.is-done .t-title{color:var(--ink-3);text-decoration:line-through}.tbl .t-meta{display:flex;align-items:center;gap:6px}.stage-dot{width:8px;height:8px;border-radius:var(--r-full);flex:0 0 auto}.due-chip{font-size:11.5px;font-weight:700;color:var(--ink-3);white-space:nowrap}.due-chip.late{color:var(--dang)}.tbl-empty{padding:48px;text-align:center;color:var(--ink-3);font-weight:600;font-size:13px}.cm-view{display:flex;flex-direction:column;gap:14px;padding:18px 24px 24px;overflow-y:auto;overflow-x:hidden}.cm-panel{flex:0 0 auto}.cm-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.cm-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);transition:border-color var(--t) var(--ease)}.cm-row.on{border-color:var(--brand);background:var(--brand-50)}.cm-row-archived{opacity:.55}.cm-row-main{display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex:1;min-width:0;text-align:left}.cm-row-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--ink)}.cm-row-meta{display:flex;gap:10px;font-size:11px;font-weight:600;color:var(--ink-4)}.cm-row-actions{display:flex;gap:2px;flex:0 0 auto}.cm-row-actions button{width:28px;height:28px;border-radius:var(--r-full);display:grid;place-items:center;color:var(--ink-4);transition:all var(--t) var(--ease)}.cm-row-actions button:hover{background:var(--surface-3);color:var(--ink)}.cm-row-edit{flex-direction:column;align-items:stretch;gap:8px}.cm-empty{padding:32px;text-align:center;color:var(--ink-4);font-weight:600;font-size:12.5px;border:1px dashed var(--line);border-radius:var(--r-sm)}.an{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 22px 40px;display:flex;flex-direction:column;gap:18px}.an-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:15px 16px;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}.kpi:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}.kpi .k{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-4)}.kpi .v{font-size:27px;font-weight:800;letter-spacing:-1px;margin-top:5px;line-height:1}.kpi .s{font-size:11.5px;font-weight:600;color:var(--ink-3);margin-top:5px}.kpi.good .v{color:var(--ok)}.kpi.warn .v{color:var(--warn)}.kpi.bad .v{color:var(--dang)}.an-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:18px}.card>h4{font-size:13px;font-weight:800;letter-spacing:-.2px;margin-bottom:3px}.card>.sub{font-size:11.5px;color:var(--ink-4);font-weight:600;margin-bottom:16px}.card.wide{grid-column:1 / -1}.an-empty{padding:26px 0;text-align:center;color:var(--ink-4);font-size:12.5px;font-weight:600}.bars{display:flex;flex-direction:column;gap:11px}.bar-row{display:grid;grid-template-columns:112px 1fr 42px;align-items:center;gap:11px}.bar-row .lbl{font-size:12px;font-weight:700;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{display:block;height:9px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.bar-fill{display:block;min-width:3px;height:100%;border-radius:var(--r-full);transform-origin:left;animation:barGrow .55s var(--spring) both}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.bar-row .num{font-size:12px;font-weight:800;text-align:right;color:var(--ink-2)}.an-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.an-legend span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--ink-3)}.an-legend i{width:9px;height:9px;border-radius:3px;display:inline-block}.an-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}.an-tbl th{text-align:left;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-4);padding:0 10px 10px;white-space:nowrap}.an-tbl th.n,.an-tbl td.n{text-align:right}.an-tbl td{padding:9px 10px;border-top:1px solid var(--line-2)}.an-tbl .who{display:flex;align-items:center;gap:9px;font-weight:700}.an-tbl .mini{display:block;height:6px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden;min-width:56px}.an-tbl .mini>i{display:block;height:100%;background:var(--ok);border-radius:var(--r-full)}.stage-list{display:flex;flex-direction:column;gap:8px}.stage-row{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);transition:border-color var(--t) var(--ease)}.stage-row:hover{border-color:var(--brand-100)}.stage-row input[type=text]{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--ink);background:none}.stage-row input[type=color]{width:26px;height:26px;border-radius:var(--r-xs);padding:0;border:1px solid var(--line);background:none;flex:0 0 auto;cursor:pointer}.stage-row .ord{display:flex;flex-direction:column;gap:1px;flex:0 0 auto}.stage-row .ord button{width:18px;height:14px;display:grid;place-items:center;color:var(--ink-4);font-size:9px;border-radius:4px}.stage-row .ord button:hover:not(:disabled){background:var(--surface-3);color:var(--ink)}.stage-row .ord button:disabled{opacity:.25;cursor:not-allowed}.stage-done{font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:3px 8px;border-radius:var(--r-full);background:var(--surface-3);color:var(--ink-4);flex:0 0 auto}.stage-done.on{background:var(--ok-bg);color:var(--ok)}.seg-2{display:flex;gap:8px}.seg-2 button{flex:1;padding:11px;border-radius:var(--r-sm);border:1.5px solid var(--line);font-size:12.5px;font-weight:700;color:var(--ink-3);text-align:left;transition:all var(--t) var(--ease)}.seg-2 button:hover{border-color:var(--brand-300)}.seg-2 button.on{border-color:var(--brand);background:var(--brand-50);color:var(--brand)}.seg-2 .t{display:flex;align-items:center;gap:7px}.seg-2 .d{font-size:10.5px;font-weight:600;color:var(--ink-4);margin-top:4px;line-height:1.45}.seg-2 button.on .d{color:var(--brand)}.tm-tabs{display:flex;gap:16px;border-bottom:1px solid var(--line);margin-bottom:14px}.tm-tabs button{padding:0 0 9px;font-size:12.5px;font-weight:700;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--t) var(--ease)}.tm-tabs button:hover{color:var(--ink)}.tm-tabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.hist{display:flex;flex-direction:column;gap:2px}.hist-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:start;padding:8px 0}.hist-ico{width:24px;height:24px;border-radius:var(--r-full);display:grid;place-items:center;font-size:11px;background:var(--surface-3);color:var(--ink-3);flex:0 0 auto}.hist-ico.done{background:var(--ok-bg);color:var(--ok)}.hist-ico.move{background:var(--brand-50);color:var(--brand)}.hist-ico.warn{background:var(--warn-bg);color:var(--warn)}.hist-txt{font-size:12.5px;color:var(--ink-2);font-weight:600;line-height:1.5}.hist-txt b{color:var(--ink);font-weight:800}.hist-when{font-size:11px;color:var(--ink-4);font-weight:600;white-space:nowrap;padding-top:2px}.hist-arrow{color:var(--ink-4);margin:0 4px}.att-grid{display:flex;flex-direction:column;gap:8px}.att{display:flex;align-items:center;gap:11px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-sm);transition:border-color var(--t) var(--ease)}.att:hover{border-color:var(--brand-100)}.att-thumb{width:40px;height:40px;border-radius:var(--r-xs);object-fit:cover;flex:0 0 auto;background:var(--surface-3)}.att-ico{width:40px;height:40px;border-radius:var(--r-xs);display:grid;place-items:center;background:var(--surface-3);color:var(--ink-3);font-size:16px;flex:0 0 auto}.att-n{font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-s{font-size:11px;color:var(--ink-4);font-weight:600;margin-top:2px}.att-x{width:26px;height:26px;border-radius:var(--r-full);display:grid;place-items:center;color:var(--ink-4)}.att-x:hover{background:var(--dang-bg);color:var(--dang)}.drop{border:1.5px dashed var(--line);border-radius:var(--r-sm);padding:16px;text-align:center;font-size:12px;font-weight:600;color:var(--ink-4);cursor:pointer;transition:all var(--t) var(--ease)}.drop:hover,.drop.over{border-color:var(--brand);background:var(--brand-50);color:var(--brand)}.settings{flex:1;overflow-y:auto;overflow-x:hidden;padding:26px 30px 44px;max-width:900px;width:100%;margin:0 auto}.settings h2{font-size:19px;font-weight:800;letter-spacing:-.4px}.settings>.sub{font-size:12.5px;color:var(--ink-3);font-weight:600;margin:5px 0 22px}.set-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:20px}.set-tabs button{padding:0 0 10px;font-size:13px;font-weight:700;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--t) var(--ease)}.set-tabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.role-sel{font-size:11.5px;font-weight:700;color:var(--ink-2);background:var(--surface-3);border-radius:var(--r-full);padding:5px 10px;border:none}.inv-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line-2)}.inv-mail{font-size:12.5px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.token-box{margin-top:12px;padding:12px 14px;border-radius:var(--r-sm);background:var(--brand-50);border:1px solid var(--brand-100);font-size:11.5px;font-weight:600;color:var(--brand);word-break:break-all;line-height:1.6}.perm-group+.perm-group{margin-top:22px}.perm-group-h{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-4);padding:0 0 8px}.perm-grid{--perm-cols: 3;overflow-x:auto}.perm-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(var(--perm-cols),84px);align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line-2);min-width:max-content}.perm-row.head{border-top:none;padding-bottom:6px}.perm-label{font-size:12.5px;font-weight:700;color:var(--ink-2)}.perm-role-h{font-size:10.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--ink-4);text-align:center}.perm-cell{display:flex;justify-content:center}.perm-toggle{position:relative;width:34px;height:20px;border-radius:var(--r-full);background:var(--surface-3);border:1px solid var(--line);flex:0 0 auto;transition:background var(--t) var(--ease)}.perm-toggle:after{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #0003;transition:transform var(--t) var(--ease)}.perm-toggle.on{background:var(--brand);border-color:var(--brand)}.perm-toggle.on:after{transform:translate(14px)}.perm-toggle.overridden{box-shadow:0 0 0 2px var(--brand-50)}.perm-toggle:disabled{opacity:.5;cursor:not-allowed}.perm-head-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tpl-page-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:20px 24px;overflow-y:auto;overflow-x:hidden}.tpl-page-editor-field,.tpl-page-editor-field .tpl-editor{flex:1;min-height:0;display:flex;flex-direction:column}.tpl-page-editor-field .tpl-content{flex:1;min-height:320px;max-height:none}.tpl-editor{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.tpl-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:6px 8px;background:var(--surface-2);border-bottom:1px solid var(--line)}.tpl-tb-btn{min-width:28px;height:28px;padding:0 6px;border-radius:var(--r-sm);color:var(--ink-2);font-size:13px}.tpl-tb-btn:hover{background:var(--surface-3)}.tpl-tb-btn.on{background:var(--brand-100);color:var(--brand-700)}.tpl-tb-sep{width:1px;align-self:stretch;background:var(--line);margin:2px 4px}.tpl-tb-placeholders{display:flex;gap:4px;flex-wrap:wrap}.tpl-tb-token{padding:4px 9px;border-radius:999px;background:var(--brand-50);color:var(--brand-700);font-size:11px;font-weight:700}.tpl-tb-token:hover{background:var(--brand-100)}.tpl-content{min-height:220px;max-height:460px;overflow-y:auto;overflow-x:hidden;padding:14px 16px;font-size:13.5px;line-height:1.6}.tpl-content .ProseMirror{outline:none}.tpl-content .ProseMirror p{margin:0 0 10px}.tpl-content .ProseMirror blockquote{border-left:3px solid var(--line);padding-left:12px;margin:0 0 10px;color:var(--ink-3)}.tpl-content .ProseMirror pre{background:var(--surface-3);border-radius:var(--r-sm);padding:10px 12px;margin:0 0 10px;overflow-x:auto}.tpl-content .ProseMirror pre code{background:none;padding:0;font-size:12.5px}.tpl-content .ProseMirror hr{border:none;border-top:1px solid var(--line);margin:14px 0}.tpl-content .ProseMirror img{border-radius:var(--r-sm)}.tpl-content .ProseMirror mark{border-radius:2px}.tpl-content .ProseMirror ul,.tpl-content .ProseMirror ol{margin:0 0 10px;padding-left:22px}.tpl-content .ProseMirror li{margin:3px 0}.tpl-content .ProseMirror li::marker{color:var(--ink-4)}.tpl-content .ProseMirror code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:var(--surface-3);padding:1px 5px;border-radius:5px}.tpl-content .ProseMirror pre code{background:none;padding:0}.rte-content{min-height:90px;max-height:420px}.mb-desc-edit .rte-content{min-height:190px}.rte-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none;color:var(--ink-4)}.cm-row-desc{font-size:12px;color:var(--ink-3);max-height:4.8em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.tpl-token{display:inline-block;padding:1px 6px;border-radius:6px;background:var(--brand-50);color:var(--brand-700);font-weight:700;font-size:.92em}.tpl-suggest{min-width:220px;max-height:260px;overflow-y:auto;overflow-x:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 12px 28px #0c102429;padding:6px}.tpl-suggest-empty{padding:10px 12px;font-size:12px;color:var(--ink-4)}.tpl-suggest-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:6px 10px;border-radius:var(--r-sm);text-align:left}.tpl-suggest-item code{font-size:11px;color:var(--brand-700);font-weight:700}.tpl-suggest-item span{font-size:11.5px;color:var(--ink-3)}.tpl-suggest-item:hover,.tpl-suggest-item.on{background:var(--surface-3)}.tpl-tb-a{font-weight:800;border-bottom:3px solid var(--brand);line-height:1;padding-bottom:1px}.tpl-tb-h{font-weight:800;background:var(--accent-100);padding:1px 4px;border-radius:4px}.tpl-tb-pop{position:relative;display:inline-flex}.tpl-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:0 12px 28px #0c102429;padding:10px;display:flex;flex-direction:column;gap:8px}.tpl-popover-row{display:flex;gap:6px;align-items:center}.tpl-pop-input{flex:1;min-width:200px;padding:7px 9px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-size:12.5px}.tpl-pop-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.tpl-popover-actions{display:flex;flex-direction:column;gap:2px;min-width:180px}.tpl-popover-btn{text-align:left;padding:7px 10px;border-radius:var(--r-sm);font-size:12px;color:var(--ink-2)}.tpl-popover-btn:hover:not(:disabled){background:var(--surface-3)}.tpl-popover-btn:disabled{opacity:.4;cursor:not-allowed}.tpl-swatch-grid{display:flex;flex-wrap:wrap;gap:6px;max-width:180px}.tpl-swatch{width:22px;height:22px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-4);flex:none}.tpl-swatch.on{box-shadow:0 0 0 2px var(--brand)}.chart{width:100%;overflow:visible}.chart .grid{stroke:var(--c-grid);stroke-width:1}.chart .axis{fill:var(--ink-4);font-size:10px;font-weight:700}.chart .ln{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chart .ln.created{stroke:var(--c-created)}.chart .ln.completed{stroke:var(--c-completed)}.chart .dot{r:3.5;stroke:var(--surface);stroke-width:2}.chart .dot.created{fill:var(--c-created)}.chart .dot.completed{fill:var(--c-completed)}.chart .hit{fill:transparent;cursor:crosshair}.chart .cross{stroke:var(--ink-4);stroke-width:1;stroke-dasharray:3 3}.chart .endlab{font-size:10.5px;font-weight:800}.chart .endlab.created{fill:var(--c-created)}.chart .endlab.completed{fill:var(--c-completed)}.tip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sh-2);padding:8px 11px;font-size:11.5px;font-weight:700;z-index:20;white-space:nowrap;transform:translate(-50%,-118%)}.tip .r{display:flex;align-items:center;gap:7px;color:var(--ink-2);margin-top:4px;font-weight:600}.tip .r i{width:8px;height:8px;border-radius:2px;display:inline-block}.tip .h{color:var(--ink-4);font-size:10.5px;letter-spacing:.4px;text-transform:uppercase}.chart-wrap{position:relative}.stack{display:flex;height:16px;border-radius:var(--r-full);overflow:hidden;gap:2px;background:var(--surface)}.stack>i{display:block;height:100%;transition:flex var(--t) var(--ease)}.stack>i:first-child{border-radius:var(--r-full) 0 0 var(--r-full)}.stack>i:last-child{border-radius:0 var(--r-full) var(--r-full) 0}.sw-urgent{background:var(--c-urgent)}.sw-high{background:var(--c-high)}.sw-normal{background:var(--c-normal)}.sw-low{background:var(--c-low)}.sw-created{background:var(--c-created)}.sw-completed{background:var(--c-completed)}.paper-wrap{overflow:auto;padding:18px;background:var(--surface-3);border-radius:var(--r-lg)}.paper{width:210mm;min-height:297mm;padding:16mm 15mm;margin:0 auto;background:#fff;color:#12172b;box-shadow:var(--sh-2);font-size:10.5pt;line-height:1.5}.paper-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10mm;border-bottom:2px solid #12172b}.paper-org{font-size:15pt;font-weight:800;letter-spacing:-.3px}.paper-stamp{display:inline-block;margin-top:6px;padding:2px 8px;border:1.5px solid #b4243a;border-radius:4px;color:#b4243a;font-size:8pt;font-weight:800;letter-spacing:1px;text-transform:uppercase}.paper-meta{text-align:right}.paper-title{font-size:20pt;font-weight:800;letter-spacing:-.6px;margin:0}.paper-no{font-size:10pt;font-weight:700;color:#5a6180;margin-bottom:6px}.paper-dl{display:grid;grid-template-columns:auto auto;gap:1px 10px;font-size:9pt;justify-content:end}.paper-dl dt{color:#5a6180}.paper-dl dd{margin:0;font-weight:700}.paper-party{margin:8mm 0 6mm}.paper-lab{font-size:7.5pt;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#5a6180;margin-bottom:3px}.paper-party-name{font-size:12pt;font-weight:800}.paper-party-line{font-size:9.5pt;color:#3b4260;white-space:pre-line}.paper-subject{margin:0 0 5mm;font-size:10.5pt;font-weight:600}.paper-table{width:100%;border-collapse:collapse;font-size:9.5pt}.paper-table th{text-align:left;padding:7px 8px;border-bottom:1.5px solid #12172b;font-size:8pt;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.paper-table td{padding:7px 8px;border-bottom:1px solid #e3e6f0;vertical-align:top}.paper-table .c-num{text-align:right;white-space:nowrap}.paper-table th.c-num{text-align:right}.paper-empty{text-align:center;color:#8a90ab;padding:14px}.paper-totals{display:flex;justify-content:flex-end;margin-top:6mm}.paper-totals dl{display:grid;grid-template-columns:auto auto;gap:4px 24px;min-width:70mm;font-size:10pt}.paper-totals dt{color:#5a6180}.paper-totals dd{margin:0;text-align:right;font-weight:700}.paper-totals .grand{padding-top:7px;border-top:1.5px solid #12172b;font-size:12pt;font-weight:800}.paper-foot{margin-top:10mm;display:grid;gap:5mm;font-size:9pt;color:#3b4260}.paper-foot p{margin:0;white-space:pre-line}.paper-terms-line{padding-top:4mm;border-top:1px solid #e3e6f0;color:#5a6180}@media print{@page{size:A4;margin:0}html,body{height:auto;overflow:visible;background:#fff}body *{visibility:hidden}.paper,.paper *{visibility:visible}.paper-wrap{position:absolute;inset:0;padding:0;background:none;overflow:visible}.paper{box-shadow:none;margin:0;width:100%;min-height:auto}.paper-table tr,.paper-totals{break-inside:avoid}.paper-table thead{display:table-header-group}}.q-layout{display:grid;grid-template-columns:minmax(520px,.95fr) minmax(0,1fr);gap:20px;align-items:start}.q-layout>:last-child{position:sticky;top:0}@media(max-width:1100px){.q-layout{grid-template-columns:minmax(0,1fr)}}.paper-wrap .paper{zoom:.72}@media print{.paper-wrap .paper{zoom:1}}.expl-empty{padding:8px 12px;font-size:11.5px;font-weight:600;line-height:1.55;color:var(--ink-4)}.doc-cust{color:var(--ink-4);font-weight:600}.expl-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-width:0}.expl-crumb-b{font:inherit;color:var(--ink-3);font-weight:600;padding:0 2px;border-radius:5px}.expl-crumb-b:hover{color:var(--brand);background:var(--brand-50)}.expl-sep{color:var(--ink-4);padding:0 2px}.expl-drop{border:2px dashed transparent;border-radius:var(--r-lg);transition:all var(--t) var(--ease)}.expl-drop.on{border-color:var(--brand);background:var(--brand-50)}.expl-drop-hint{padding:26px 4px;text-align:center;font-size:12.5px;font-weight:600;color:var(--ink-4)}.expl-table{width:100%;border-collapse:collapse;font-size:13px}.expl-table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-4)}.expl-table td{padding:9px 10px;border-bottom:1px solid var(--line-2);color:var(--ink-2);font-weight:600;vertical-align:middle}.expl-table tr:hover td{background:var(--surface-2)}.expl-table .c-num{text-align:right;white-space:nowrap}.expl-glyph{margin-right:8px}.expl-link{color:var(--ink);font-weight:700}.expl-link:hover{color:var(--brand);text-decoration:underline}.expl-pending{color:var(--ink-4);font-style:italic}.cust-tabs{display:flex;gap:2px;padding:0 26px;border-bottom:1px solid var(--line)}.cust-tab{padding:11px 15px;font-size:13px;font-weight:700;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--t) var(--ease)}.cust-tab:hover{color:var(--ink)}.cust-tab.on{color:var(--brand);border-bottom-color:var(--brand)}.cust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;align-items:start}.cust-field{padding:7px 0;border-bottom:1px solid var(--line-2)}.cust-field:last-child{border-bottom:none}.cust-k{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-4)}.cust-v{font-size:13px;font-weight:600;color:var(--ink);margin-top:2px}.cust-empty{font-size:12.5px;font-weight:600;color:var(--ink-4);padding:8px 0}.cust-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.cust-stat{font-size:20px;font-weight:800;letter-spacing:-.5px;margin-top:4px}.lead-board{display:grid;grid-template-columns:repeat(9,minmax(210px,1fr));gap:10px;align-items:start;overflow-x:auto;padding-bottom:6px}.lead-col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px;min-height:120px}.lead-col.won{border-top:3px solid var(--ok)}.lead-col.lost{border-top:3px solid var(--dang)}.lead-col.disqualified{border-top:3px solid var(--ink-4)}.lead-col-h{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-3)}.lead-col-v{font-size:12px;font-weight:700;color:var(--ink-4);margin:2px 0 9px}.lead-card{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 11px;margin-bottom:8px;transition:all var(--t) var(--spring)}.lead-card:hover{border-color:var(--brand-300);transform:translateY(-1px);box-shadow:var(--sh-1)}.lead-t{font-size:12.5px;font-weight:800;color:var(--ink);line-height:1.35}.lead-s{font-size:11px;font-weight:600;color:var(--ink-4);margin-top:2px}.lead-f{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:7px;font-size:12px}.lead-empty{font-size:11.5px;font-weight:600;color:var(--ink-4);padding:6px 2px}.deal-board{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:10px;align-items:start;overflow-x:auto;padding-bottom:6px}.deal-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:7px;border-top:1px solid var(--line-2)}.deal-actions .btn{text-decoration:none}.lnk{color:var(--brand);font-weight:700;cursor:pointer}.lnk:hover{text-decoration:underline}.share-list{max-height:220px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:var(--r-md);padding:5px;margin-bottom:12px}.share-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:7px 9px;border-radius:var(--r-sm);font-size:13px;font-weight:600;color:var(--ink-2);transition:background var(--t) var(--spring)}.share-row:hover{background:var(--surface-2)}.share-row.on{background:var(--brand-50);color:var(--brand);font-weight:800}.share-emo{width:20px;text-align:center;flex:none}.share-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftree{flex:1;min-height:0;overflow:hidden;padding:4px 6px 10px}.ftree [role=tree]{outline:none}.ftree-scope{display:flex;align-items:center;gap:2px;padding-right:4px}.ftree-scope-b{display:flex;align-items:center;gap:6px;flex:1;min-width:0;padding:4px 6px;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3)}.ftree-scope-b .rot{transform:rotate(-90deg)}.ftree-add{opacity:0;flex:none}.ftree-scope:hover .ftree-add,.ftree-add:focus-visible{opacity:1}.ftree-row{display:flex;align-items:center;gap:5px;padding:0 7px 0 2px;border-radius:var(--r-sm);font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;transition:background var(--t) var(--spring)}.ftree-row:hover{background:var(--surface-2)}.ftree-row.on{background:var(--brand-50);color:var(--brand);font-weight:800}.ftree-row.drop{background:var(--brand-50);box-shadow:inset 0 0 0 1.5px var(--brand)}.ftree-caret{width:15px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink-4)}.ftree-caret .rot{transform:rotate(-90deg)}.ftree-ico{flex:none;font-size:13px;line-height:1}.ftree-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftree-badge{flex:none;display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:99px;background:var(--surface-3);font-size:10px;font-weight:800;color:var(--ink-3)}.ftree-badge:before{content:"👥";font-size:9px}.fld-lab{display:block;font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.fld-hint{font-size:11.5px;font-weight:600;line-height:1.5;color:var(--ink-4);margin-top:6px}.ico-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.ico-opt{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:16px;border:1px solid transparent;border-radius:var(--r-sm);color:var(--ink-4);transition:all var(--t) var(--spring)}.ico-opt:hover{background:var(--surface-2)}.ico-opt.on{background:var(--brand-50);border-color:var(--brand)}.vis-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vis-opt{display:flex;align-items:flex-start;gap:8px;text-align:left;padding:10px;border:1.5px solid var(--line);border-radius:var(--r-md);transition:all var(--t) var(--spring)}.vis-opt:hover{border-color:var(--brand-300)}.vis-opt.on{border-color:var(--brand);background:var(--brand-50)}.vis-emo{font-size:17px;line-height:1.1}.vis-opt strong{display:block;font-size:12.5px;font-weight:800;color:var(--ink)}.vis-opt em{display:block;font-style:normal;font-size:11px;font-weight:600;line-height:1.4;color:var(--ink-4);margin-top:1px}.acc-list{max-height:190px;overflow-y:auto;overflow-x:hidden;border:1px solid var(--line);border-radius:var(--r-md);padding:4px}.acc-row{display:flex;align-items:center;gap:6px;padding:2px 4px 2px 0;border-radius:var(--r-sm)}.acc-row.on{background:var(--surface-2)}.acc-pick{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:6px 8px;font-size:13px;font-weight:600;color:var(--ink-2);text-align:left}.acc-box{width:17px;height:17px;flex:none;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line-2);border-radius:5px;color:var(--on-accent)}.acc-row.on .acc-box{background:var(--brand);border-color:var(--brand)}.acc-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warn-note{display:flex;gap:8px;padding:9px 11px;margin-bottom:12px;border-radius:var(--r-md);background:var(--warn-bg);border:1px solid var(--warn);font-size:11.5px;font-weight:600;line-height:1.55;color:var(--ink-2)}.warn-note:before{content:"⚠️";flex:none}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.danger-zone strong{display:block;font-size:12.5px;font-weight:800;color:var(--ink)}.danger-zone em{display:block;font-style:normal;font-size:11px;font-weight:600;line-height:1.45;color:var(--ink-4);margin-top:2px}.vis-opt:disabled{opacity:.5;cursor:not-allowed}.vis-opt:disabled:hover{border-color:var(--line)}.fld-sec{padding:12px 0;border-top:1px solid var(--line)}.fld-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.pick-chip{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--brand);border-radius:var(--r-md);background:var(--brand-50)}.pick-emo{flex:none;font-size:15px;line-height:1}.pick-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;color:var(--ink)}.pick-list{max-height:170px;overflow-y:auto;overflow-x:hidden;margin-top:6px;border:1px solid var(--line);border-radius:var(--r-md);padding:4px}.pick-row{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;padding:7px 9px;border-radius:var(--r-sm);transition:background var(--t) var(--spring)}.pick-row:hover{background:var(--surface-2)}.new-contact{border:1px solid var(--brand);border-radius:var(--r-md);padding:10px}.nc-note{font-size:11.5px;font-weight:700;color:var(--brand);margin-bottom:8px}.nc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:520px){.nc-grid{grid-template-columns:1fr}}.mb-rail{align-self:start;position:sticky;top:0}.mb-rail select{width:100%;padding:11px 12px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:all var(--t) var(--ease)}.mb-rail select:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-50)}.mb-rail .field input{padding:11px 12px;font-size:13.5px}@media(max-width:720px){.modal-b{grid-template-columns:1fr;gap:0}.mb-rail{position:static;border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.fld-head{flex-direction:column;align-items:stretch;gap:6px}}.lead-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.lf-search{display:flex;align-items:center;gap:7px;flex:1;min-width:220px;padding:0 11px;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--ink-4);transition:all var(--t) var(--ease)}.lf-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-50)}.lf-search input{flex:1;min-width:0;padding:10px 0;border:none;background:none;font-size:13.5px;font-weight:500;color:var(--ink)}.lf-search input:focus{outline:none}.lead-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px;padding-top:7px;border-top:1px solid var(--line-2)}.lead-who{display:flex;align-items:center;gap:5px;min-width:0}.lead-av{width:19px;height:19px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--brand);color:#fff;font-size:9px;font-weight:800;letter-spacing:.2px}.lead-av.none{background:var(--surface-3);color:var(--ink-4)}.lead-who .fr-s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-dlg{display:flex;flex-direction:column;min-height:0;max-height:86vh}.lead-dlg-h{flex:none;padding:20px 24px 14px;border-bottom:1px solid var(--line)}.ldh-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ldh-t{font-size:18px;font-weight:800;line-height:1.3;letter-spacing:-.2px;color:var(--ink)}.ldh-s{font-size:12.5px;font-weight:600;color:var(--ink-4);margin-top:3px}.ldh-acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px}.lead-dlg-b{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 24px 24px}.lead-dlg .q-layout{display:block}.lead-dlg .cal-card+.cust-tabs{margin-top:16px}.act-form{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.act-kinds{display:flex;flex-wrap:wrap;gap:6px}.act-kind{padding:6px 10px;border-radius:99px;border:1.5px solid var(--line);font-size:12px;font-weight:700;color:var(--ink-3);transition:all var(--t) var(--spring)}.act-kind:hover{border-color:var(--brand-300)}.act-kind.on{border-color:var(--brand);background:var(--brand-50);color:var(--brand)}.act-form input,.act-form textarea,.act-complete input,.act-complete textarea{width:100%;padding:10px 12px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface);font-family:inherit;font-size:13.5px;font-weight:500;line-height:1.55;resize:vertical;transition:all var(--t) var(--ease)}.act-form input:focus,.act-form textarea:focus,.act-complete input:focus,.act-complete textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-50)}.act-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(max-width:640px){.act-meta{grid-template-columns:1fr}}.act-row{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line-2)}.act-row:last-child{border-bottom:none}.act-ico{width:26px;height:26px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-3);font-size:12px}.act-t{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--ink)}.act-b{font-size:12.5px;line-height:1.6;color:var(--ink-2);margin-top:2px}.act-out{margin-top:5px;padding:7px 9px;border-radius:var(--r-sm);background:var(--surface-2);font-size:12.5px;line-height:1.55;color:var(--ink-2)}.act-out strong{display:block;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-4);margin-bottom:2px}.act-s{font-size:11px;font-weight:600;color:var(--ink-4);margin-top:4px}.act-complete{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px;border:1px solid var(--brand);border-radius:var(--r-md)}.act-complete .act-meta{grid-template-columns:1fr auto}.cmt-row{padding:9px 0;border-bottom:1px solid var(--line-2)}.cmt-row:last-child{border-bottom:none}.cmt-h{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--ink)}.cmt-b{font-size:13px;line-height:1.6;color:var(--ink-2);margin-top:3px;white-space:pre-wrap}.lead-dlg .facts{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.lead-dlg .facts .pn-t{grid-column:1 / -1}.lead-dlg .facts .cust-field{min-width:0}@media(max-width:560px){.lead-dlg .facts{grid-template-columns:1fr}}.lang{position:relative}.lang-btn{font-size:11px;font-weight:800;letter-spacing:.4px;color:var(--ink-3)}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:216px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-3);animation:modalIn .22s var(--spring)}.lang-opt{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:8px 10px;border-radius:var(--r-sm);font-size:13px;font-weight:600;color:var(--ink-2);transition:background var(--t) var(--spring)}.lang-opt:hover{background:var(--surface-2)}.lang-opt.on{background:var(--brand-50);color:var(--brand);font-weight:800}.lang-short{width:24px;flex:none;font-size:10px;font-weight:800;letter-spacing:.4px;color:var(--ink-4)}.lang-opt.on .lang-short{color:var(--brand)}.lang-hint{padding:7px 10px 4px;border-top:1px solid var(--line-2);margin-top:4px;font-size:11px;font-weight:600;line-height:1.5;color:var(--ink-4)}.cat-sec{margin-bottom:18px}.cat-head{display:flex;align-items:center;justify-content:space-between;padding:9px 13px;border-radius:var(--r-md) var(--r-md) 0 0;font-size:12px;font-weight:800;letter-spacing:.3px;color:#fff}.cat-head .cnt{background:#ffffff40;color:#fff}.cat-head.hw{background:var(--brand)}.cat-head.pf{background:#7c3aed}.cat-head.sv{background:#0d9488}.cat-head.ot{background:var(--ink-3)}.cat-sec .expl-table{border:1px solid var(--line);border-top:none;border-radius:0 0 var(--r-md) var(--r-md)}.prod-n{font-size:13px;font-weight:700;color:var(--ink)}.row-archived{opacity:.5}.cat-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}@media(max-width:560px){.cat-pick{grid-template-columns:repeat(2,1fr)}}.cat-opt{padding:9px 8px;border:1.5px solid var(--line);border-radius:var(--r-md);font-size:12px;font-weight:700;color:var(--ink-3);transition:all var(--t) var(--spring)}.cat-opt:hover{border-color:var(--brand-300)}.cat-opt.on.hw{border-color:var(--brand);background:var(--brand-50);color:var(--brand)}.cat-opt.on.pf{border-color:#7c3aed;background:#7c3aed1a;color:#7c3aed}.cat-opt.on.sv{border-color:#0d9488;background:#0d94881a;color:#0d9488}.cat-opt.on.ot{border-color:var(--ink-3);background:var(--surface-2);color:var(--ink-2)}.qline-body{border:1px solid var(--line);border-top:none;border-radius:0 0 var(--r-md) var(--r-md);padding:10px}.qline{display:grid;grid-template-columns:minmax(0,1.1fr) 62px 74px 118px 74px minmax(96px,auto) 30px;grid-template-areas:"prod desc desc desc desc desc del" "qty unit price disc total total total";gap:6px;align-items:center;padding:8px;margin-bottom:6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.qline-prod{grid-area:prod}.qline-desc{grid-area:desc}.qline-qty{grid-area:qty}.qline-unit{grid-area:unit}.qline-price{grid-area:price}.qline-disc{grid-area:disc}.qline-total{grid-area:total}.qline>.icon-btn{grid-area:del}@media(max-width:900px){.qline{grid-template-columns:1fr 1fr 1fr;grid-template-areas:"prod prod del" "desc desc desc" "qty unit price" "disc total total"}}.qline input,.qline select{width:100%;padding:8px 10px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:12.5px;font-weight:500;transition:all var(--t) var(--ease)}.qline input:focus,.qline select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.qline select{font-weight:600;color:var(--ink-2);cursor:pointer}.qline-total{font-size:12.5px;font-weight:800;color:var(--ink);text-align:right;white-space:nowrap}.qline-empty{padding:10px 2px;font-size:12px;font-weight:600;color:var(--ink-4)}.qline-add{margin-top:2px}.sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:640px){.sig-grid{grid-template-columns:1fr}}.sig-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}.sig-cap{font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--ink-4)}.sig-card input{width:100%;padding:9px 11px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:13px;font-weight:500}.sig-card input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.paper-sign{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:26px;page-break-inside:avoid}.paper-sign-col{text-align:center}.paper-sign-cap{font-size:8.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#6b7280}.paper-sign-org{font-size:10px;color:#374151;margin-top:3px}.paper-sign-rule{margin:34px 12px 5px;border-bottom:1px solid #9ca3af}.paper-sign-name{font-size:10.5px;font-weight:700;color:#111827}.paper-sign-title{font-size:9px;color:#6b7280}.paper-attn{font-size:9.5px;color:#4b5563;margin-top:2px}.at-code{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;margin:10px 0 0;overflow-x:auto;font-family:ui-monospace,Menlo,monospace;font-size:12px;line-height:1.7;white-space:pre;color:var(--ink-2)}
