:root{--green-900: #0a3d26;--green-800: #0f5132;--green-700: #14663f;--green-600: #1a7f4f;--green-500: #22945c;--green-100: #d9efe3;--green-50: #eef8f2;--ink-900: #14201a;--ink-700: #33443c;--ink-500: #6b7d74;--ink-300: #a8b6af;--line: #e6ebe8;--bg: #f5f7f6;--white: #ffffff;--danger: #c0392b;--danger-soft: #fdecea;--warn: #b7791f;--warn-soft: #fdf6e3;--info: #1d6fa5;--info-soft: #eaf4fb;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(16, 40, 30, .04), 0 4px 16px rgba(16, 40, 30, .06);--shadow-lg: 0 8px 32px rgba(16, 40, 30, .14);--nav-h: 58px;--topbar-h: 56px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink-900);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.app{min-height:100%;display:flex;flex-direction:column;background:var(--bg)}.app-main{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px))}.page{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.page-inner{max-width:760px;margin:0 auto;padding:18px 16px 28px}.topbar{position:sticky;top:0;z-index:20;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 16px;height:var(--topbar-h);flex:none}.topbar-title{font-size:17px;font-weight:700;color:var(--ink-900)}.topbar-sub{font-size:12px;color:var(--ink-500);margin-top:1px}.topbar-back{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--green-800);font-size:19px;margin-left:-8px;flex:none}.topbar-back:active{background:var(--green-50)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;align-items:stretch}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-300);font-size:11px;font-weight:500;position:relative;transition:color .15s}.tab.active{color:var(--green-700);font-weight:700}.tab-icon{font-size:19px;line-height:1}.tab-badge{position:absolute;top:6px;left:50%;margin-left:6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card+.card{margin-top:12px}.card-title{font-size:15px;font-weight:700;color:var(--ink-900);display:flex;align-items:center;gap:7px;margin:0 0 10px}.card-title .dot{width:3px;height:15px;border-radius:2px;background:var(--green-700);flex:none}.hero{background:linear-gradient(135deg,var(--green-800) 0%,var(--green-600) 100%);color:#fff;border-radius:var(--radius);padding:20px 18px;box-shadow:0 6px 20px #0f513238;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-30px;top:-40px;width:150px;height:150px;border-radius:50%;background:#ffffff12}.hero-title{font-size:25px;font-weight:800;letter-spacing:.5px;margin:0}.hero-sub{font-size:13px;opacity:.85;margin:3px 0 0}.hero-meta{margin-top:14px;font-size:12px;opacity:.8;display:flex;align-items:center;gap:6px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#7ee2a8;box-shadow:0 0 #7ee2a8b3;animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 7px #7ee2a800}to{box-shadow:0 0 #7ee2a800}}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;box-shadow:var(--shadow)}.stat-label{font-size:12px;color:var(--ink-500);display:flex;align-items:center;gap:5px}.stat-value{font-size:21px;font-weight:800;color:var(--ink-900);margin-top:5px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.stat-value.accent{color:var(--green-700)}.stat-value.danger{color:var(--danger)}.stat-hint{font-size:11px;color:var(--ink-300);margin-top:3px}.alert-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:13.5px;color:var(--ink-700);line-height:1.5}.alert-item:last-child{border-bottom:none;padding-bottom:0}.alert-icon{flex:none;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:12px;background:var(--warn-soft)}.alert-icon.info{background:var(--info-soft)}.alert-icon.danger{background:var(--danger-soft)}.action-list{display:grid;gap:10px;margin-top:12px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:0 16px;border-radius:var(--radius-sm);font-size:15px;font-weight:700;transition:transform .08s,background .15s,opacity .15s;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--green-700);color:#fff;box-shadow:0 3px 12px #14663f47}.btn-primary:active{background:var(--green-800)}.btn-outline{background:var(--white);color:var(--green-800);border:1.5px solid var(--green-100)}.btn-outline:active{background:var(--green-50)}.btn-ghost{background:var(--green-50);color:var(--green-800)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-sm{min-height:36px;font-size:13px;padding:0 12px;width:auto;border-radius:9px}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.msg-layout{flex:1;min-height:0;display:flex}.conv-list{width:100%;overflow-y:auto;background:var(--white)}.conv-search{padding:10px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--white);z-index:5}.conv-search input{width:100%;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--bg);padding:0 12px;outline:none}.conv-search input:focus{border-color:var(--green-500);background:var(--white)}.conv-item{display:flex;gap:11px;padding:12px 14px;border-bottom:1px solid #f2f5f3;align-items:flex-start;width:100%;text-align:left;transition:background .12s}.conv-item:active,.conv-item.active{background:var(--green-50)}.conv-item.active{box-shadow:inset 3px 0 0 var(--green-700)}.avatar{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px;background:var(--green-700)}.conv-body{flex:1;min-width:0}.conv-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.conv-name{font-weight:700;font-size:14.5px;color:var(--ink-900);display:flex;align-items:center;gap:5px}.conv-time{font-size:11px;color:var(--ink-300);flex:none}.conv-preview{font-size:13px;color:var(--ink-500);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-tags{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}.tag{font-size:10.5px;padding:1px 7px;border-radius:20px;background:var(--bg);color:var(--ink-500);border:1px solid var(--line);white-space:nowrap}.tag.green{background:var(--green-50);color:var(--green-700);border-color:var(--green-100)}.tag.warn{background:var(--warn-soft);color:var(--warn);border-color:#f3e3bd}.tag.danger{background:var(--danger-soft);color:var(--danger);border-color:#f7d5d1}.tag.info{background:var(--info-soft);color:var(--info);border-color:#cfe6f5}.chat{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.chat-head{flex:none;background:var(--white);border-bottom:1px solid var(--line);padding:9px 14px;display:flex;align-items:center;gap:10px}.chat-head-name{font-weight:700;font-size:15px}.chat-head-sub{font-size:11.5px;color:var(--ink-500);margin-top:1px}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:14px 14px 8px;display:flex;flex-direction:column;gap:10px}.chat-hint{align-self:center;font-size:11.5px;color:var(--ink-300);background:#fffc;padding:4px 12px;border-radius:20px;border:1px solid var(--line)}.bubble-row{display:flex;gap:8px;max-width:88%}.bubble-row.me{align-self:flex-end;flex-direction:row-reverse}.bubble-row.them{align-self:flex-start}.bubble{padding:9px 13px;border-radius:14px;font-size:14.5px;line-height:1.55;word-break:break-word;white-space:pre-wrap}.bubble.them{background:var(--white);border:1px solid var(--line);border-top-left-radius:5px;color:var(--ink-900)}.bubble.me{background:var(--green-700);color:#fff;border-top-right-radius:5px;box-shadow:0 2px 8px #14663f33}.bubble-time{font-size:10.5px;color:var(--ink-300);align-self:flex-end;flex:none;padding-bottom:3px}.ai-card{align-self:stretch;background:var(--white);border:1px solid var(--green-100);border-left:3px solid var(--green-600);border-radius:12px;padding:11px 13px;box-shadow:var(--shadow)}.ai-card-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--green-700);margin-bottom:7px}.ai-chip{background:var(--green-50);color:var(--green-700);font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:20px}.ai-line{font-size:13px;color:var(--ink-700);margin:3px 0}.ai-line b{color:var(--ink-900)}.composer{flex:none;background:var(--white);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}.composer textarea{width:100%;min-height:60px;max-height:130px;resize:none;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;outline:none;background:var(--bg);line-height:1.5}.composer textarea:focus{border-color:var(--green-500);background:var(--white)}.composer-tools{display:flex;gap:8px;margin-top:8px;align-items:center}.composer-tools .spacer{flex:1}.hint-text{font-size:11px;color:var(--ink-300);margin-top:6px}.order-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;margin-bottom:10px}.order-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.order-no{font-size:11.5px;color:var(--ink-300);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.order-cust{font-weight:700;font-size:15px;margin-top:1px}.order-amount{font-size:19px;font-weight:800;color:var(--green-700);font-variant-numeric:tabular-nums;flex:none}.order-lines{margin:10px 0 0;border-top:1px dashed var(--line);padding-top:9px}.order-line{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-700);padding:3px 0}.order-line .qty{color:var(--ink-500)}.order-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.empty{text-align:center;padding:50px 20px;color:var(--ink-300)}.empty-icon{font-size:36px;margin-bottom:10px;opacity:.6}.cust-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;margin-bottom:10px;display:flex;gap:12px}.cust-main{flex:1;min-width:0}.cust-name{font-weight:700;font-size:15px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cust-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.metric-label{font-size:11px;color:var(--ink-500)}.metric-value{font-size:14px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}.metric-value.danger{color:var(--danger)}.quick-grid{display:grid;gap:8px}.quick-q{text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);font-size:13.5px;color:var(--ink-700);display:flex;gap:9px;align-items:center;transition:background .12s}.quick-q:active{background:var(--green-50)}.bubble-ai{background:var(--white);border:1px solid var(--line);border-radius:5px 14px 14px;padding:11px 14px;font-size:14px;line-height:1.65;white-space:pre-wrap;color:var(--ink-900);max-width:88%;align-self:flex-start}.bubble-user{background:var(--green-700);color:#fff;border-radius:14px 5px 14px 14px;padding:9px 13px;font-size:14.5px;max-width:82%;align-self:flex-end;white-space:pre-wrap}.typing{display:inline-flex;gap:3px;align-items:center;height:18px}.typing i{width:5px;height:5px;border-radius:50%;background:var(--ink-300);animation:blink 1.3s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0c1c1473;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fade .16s ease}@keyframes fade{0%{opacity:0}}.modal{background:var(--white);width:100%;max-width:520px;max-height:92vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));animation:slideUp .22s cubic-bezier(.2,.8,.3,1)}@keyframes slideUp{0%{transform:translateY(24px);opacity:.6}}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-title{font-size:17px;font-weight:800}.modal-close{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink-500);font-size:17px;background:var(--bg)}.field{margin-bottom:12px}.field-label{font-size:12.5px;color:var(--ink-500);margin-bottom:5px;font-weight:600}.field input,.field textarea,.field select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 12px;outline:none;background:var(--bg)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green-500);background:var(--white)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-panel{background:var(--green-50);border:1px solid var(--green-100);border-radius:var(--radius-sm);padding:11px 13px;margin-bottom:14px}.ai-panel-title{font-size:12px;font-weight:700;color:var(--green-700);display:flex;align-items:center;gap:6px;margin-bottom:7px}.ai-panel-row{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;color:var(--ink-700)}.ai-panel-row b{color:var(--ink-900)}.ai-panel-total{border-top:1px solid var(--green-100);margin-top:6px;padding-top:7px;font-size:14px}.ai-panel-total b{color:var(--green-800);font-size:16px}.line-edit{display:grid;grid-template-columns:1fr 74px 78px 34px;gap:7px;margin-bottom:7px;align-items:center}.line-edit input{min-height:38px;border:1px solid var(--line);border-radius:9px;padding:0 9px;outline:none;background:var(--bg);min-width:0}.line-edit input:focus{border-color:var(--green-500);background:var(--white)}.line-del{width:34px;height:38px;border-radius:9px;background:var(--danger-soft);color:var(--danger);display:grid;place-items:center;font-size:15px}.toast-wrap{position:fixed;left:50%;bottom:calc(var(--nav-h) + 24px);transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:90vw}.toast{background:#102018ed;color:#fff;font-size:13.5px;padding:9px 16px;border-radius:22px;box-shadow:var(--shadow-lg);animation:toastIn .2s ease}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}@media (min-width: 900px){:root{--nav-h: 0px}.app{flex-direction:row}.tabbar{position:relative;height:100vh;width:92px;flex:none;flex-direction:column;justify-content:flex-start;padding-top:20px;gap:4px;border-top:none;border-right:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}.tab{flex:none;height:62px;border-radius:12px;margin:0 12px;width:calc(100% - 24px)}.tab.active{background:var(--green-50)}.tab-badge{top:8px;left:auto;right:14px;margin-left:0}.app-main{padding-bottom:0;flex:1;min-width:0;height:100vh}.tabbar:before{content:"知凌水果批发";display:block;font-size:15px;font-weight:800;color:var(--green-800);margin:0 0 18px;text-align:center;letter-spacing:.5px}.toast-wrap{bottom:40px}.msg-layout{flex-direction:row}.conv-list{width:300px;flex:none;border-right:1px solid var(--line)}.chat{flex:1}.page-inner{padding:26px 24px 40px}.modal-mask{align-items:center}.modal{border-radius:18px;max-height:88vh}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-value{font-size:23px}}@media (max-width: 899px){.msg-layout{flex-direction:column}.conv-list,.chat{flex:1;height:100%}}
