.tabbar[data-v-56b49f4a]{height:calc(var(--tab-h) + var(--safe-bottom));flex-shrink:0;background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--sep);display:flex;align-items:flex-start;padding-top:8px;z-index:100}.tab-item[data-v-56b49f4a]{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding-top:2px;cursor:pointer}.tab-ic-wrap[data-v-56b49f4a]{position:relative}.tab-lbl[data-v-56b49f4a]{font-size:10px;color:var(--L2);font-weight:500}.tab-lbl.on[data-v-56b49f4a]{color:var(--blue)}.tab-dot[data-v-56b49f4a]{width:4px;height:4px;border-radius:50%;background:var(--blue);margin-top:-2px}.badge[data-v-56b49f4a]{position:absolute;top:-3px;right:-6px;background:var(--red);color:#fff;font-size:9px;font-weight:700;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px}.ai-btn[data-v-56b49f4a]{width:44px;height:44px;border-radius:50%;background:var(--ai);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #5856d65c;margin-top:-12px}:root{--bg: #F2F2F7;--card: #ffffff;--sep: #E5E5EA;--sep2: #F2F2F7;--blue: #007AFF;--purple: #5856D6;--green: #34C759;--orange: #FF9500;--red: #FF3B30;--teal: #5AC8FA;--L1: #1C1C1E;--L2: #8E8E93;--L3: #C7C7CC;--ai: linear-gradient(135deg, #5856D6, #007AFF);--sh: 0 1px 4px rgba(0, 0, 0, .06);--f: -apple-system, "SF Pro Display", "SF Pro Text", "PingFang SC", sans-serif;--tab-h: 83px;--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{width:100%;height:100%;font-family:var(--f);color:var(--L1);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}.scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.scroll::-webkit-scrollbar{display:none}.spacer{height:calc(var(--tab-h) + 16px);flex-shrink:0}.sec-hd{padding:14px 20px 6px;display:flex;align-items:center;justify-content:space-between}.sec-t{font-size:13px;font-weight:600;color:var(--L2);text-transform:uppercase;letter-spacing:.3px}.sec-more{font-size:14px;color:var(--blue);font-weight:500;cursor:pointer}.card-list{background:var(--card);border-radius:14px;margin:0 16px;overflow:hidden;box-shadow:var(--sh)}.list-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--sep2);cursor:pointer}.list-row:last-child{border-bottom:none}.row-label{flex:1;font-size:15px}.row-val{font-size:14px;color:var(--L2)}.chev{opacity:.3}.stats-row{display:flex;gap:10px;padding:0 16px}.stat-card{flex:1;background:var(--card);border-radius:14px;padding:14px 12px 12px;box-shadow:0 1px 3px #0000000d}.stat-n{font-size:28px;font-weight:700;letter-spacing:-1px}.stat-l{font-size:12px;color:var(--L2);margin-top:2px}.stat-card.c-blue .stat-n{color:var(--blue)}.stat-card.c-orange .stat-n{color:var(--orange)}.stat-card.c-green .stat-n{color:var(--green)}.stat-card.c-red .stat-n{color:var(--red)}.task-chk{width:22px;height:22px;border:1.5px solid var(--L3);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}.task-chk.done{background:var(--green);border-color:var(--green)}.av-stack{display:flex}.av-stack .av{margin-left:-6px;border:2px solid #fff}.av-stack .av:first-child{margin-left:0}.kb-card{background:var(--card);border-radius:14px;margin:0 16px 10px;padding:14px;box-shadow:var(--sh)}.kb-card.overdue{border-left:3px solid var(--red)}.kb-card.normal{border-left:3px solid var(--blue)}.kb-actions{display:flex;gap:8px;margin-top:12px}.kb-action{flex:1;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer}.kba-blue{background:#e3f0ff;color:var(--blue)}.kba-green{background:#e8f5e9;color:var(--green)}.ai-confirm{background:var(--card);border-radius:14px;overflow:hidden;margin-top:8px;box-shadow:0 2px 8px #5856d61f;border:1px solid rgba(88,86,214,.15)}.ai-confirm-hd{background:var(--ai);padding:9px 13px;display:flex;align-items:center;gap:8px}.ai-confirm-body{padding:10px 13px;display:flex;flex-direction:column;gap:7px}.cf-row{display:flex;gap:8px;font-size:13px}.cf-k{color:var(--L2);width:52px;flex-shrink:0;padding-top:1px}.cf-v{font-weight:500;flex:1}.cf-btns{display:flex;gap:8px;padding:10px 13px 13px}.cf-primary{flex:1;height:38px;border-radius:10px;background:var(--blue);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}.cf-ghost{width:66px;height:38px;border-radius:10px;background:var(--bg);color:var(--L2);font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer}.segment{background:var(--sep);border-radius:9px;padding:2px;display:flex}.seg-item{flex:1;text-align:center;font-size:13px;font-weight:500;padding:6px 0;border-radius:7px;color:var(--L2);cursor:pointer}.seg-item.on{background:var(--card);color:var(--L1);font-weight:600;box-shadow:0 1px 3px #0000001f}.proj-card{background:var(--card);border-radius:16px;margin:0 16px 10px;padding:16px;box-shadow:var(--sh)}.pc-hd{display:flex;align-items:flex-start;gap:12px}.pc-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px}.pc-info{flex:1}.pc-name{font-size:16px;font-weight:600}.pc-desc{font-size:13px;color:var(--L2);margin-top:2px;line-height:1.4}.pc-divider{height:1px;background:var(--sep2);margin:12px 0}.pc-stats{display:flex}.pc-stat{flex:1;text-align:center}.pc-stat+.pc-stat{border-left:1px solid var(--sep2)}.pc-sn{font-size:20px;font-weight:700}.pc-sl{font-size:11px;color:var(--L2);margin-top:2px}.pc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.deadline{font-size:12px;color:var(--L2)}.deadline.red{color:var(--red)}.notif-badge{position:absolute;top:-3px;right:-3px;width:16px;height:16px;border-radius:8px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.chat-area{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch}.chat-area::-webkit-scrollbar{display:none}.msg-row{display:flex;gap:8px;align-items:flex-end}.msg-row.user{flex-direction:row-reverse}.msg-av{width:28px;height:28px;border-radius:8px;background:var(--ai);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:2px}.bubble{max-width:270px;padding:10px 14px;font-size:14px;line-height:1.5;border-radius:18px}.bubble.ai{background:var(--card);border-bottom-left-radius:4px;box-shadow:0 1px 3px #00000012;color:var(--L1)}.bubble.user{background:var(--blue);border-bottom-right-radius:4px;color:#fff}.bubble-t{font-size:11px;color:var(--L2);margin-top:3px;padding:0 4px}.msg-col{display:flex;flex-direction:column}.msg-col.user{align-items:flex-end}.date-div{text-align:center;font-size:12px;color:var(--L2);position:relative;margin:4px 0}.date-div:before,.date-div:after{content:"";position:absolute;top:50%;width:28%;height:1px;background:var(--sep)}.date-div:before{left:8%}.date-div:after{right:8%}.suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.sug{background:var(--card);border:1px solid var(--sep);border-radius:20px;padding:5px 12px;font-size:13px;box-shadow:0 1px 2px #0000000a;cursor:pointer}.typing-dots{display:flex;gap:4px;padding:10px 2px;align-items:center}.tdot{width:7px;height:7px;border-radius:50%;background:var(--L3);animation:td 1.2s infinite ease-in-out}.tdot:nth-child(2){animation-delay:.2s}.tdot:nth-child(3){animation-delay:.4s}@keyframes td{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.vbar{background:#ffffff8c;border-radius:2px;animation:vw .9s ease-in-out infinite}@keyframes vw{0%,to{transform:scaleY(.2)}50%{transform:scaleY(1)}}.app-shell{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;flex-direction:column}.page-wrap{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page-wrap>*{flex:1;min-height:0;display:flex;flex-direction:column}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-left-enter-active,.slide-left-leave-active{transition:transform .25s cubic-bezier(.4,0,.2,1)}.slide-left-enter-from{transform:translate(100%)}.slide-left-leave-to{transform:translate(-20%)}
