:root{--ink:#17223b;--muted:#73809b;--line:#e9edf4;--panel:#fff;--canvas:#f7f8fc;--indigo:#4459d7;--teal:#168a81;--orange:#e98635;--danger:#dc5b67;--shadow:0 10px 30px rgba(29,43,76,.07)}*{box-sizing:border-box}body{margin:0;font-family:"Noto Sans SC",sans-serif;color:var(--ink);background:var(--canvas);font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;background:#172442;color:#fff;padding:25px 14px 16px;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:4}.brand{font:600 22px Outfit,"Noto Sans SC";display:flex;gap:10px;align-items:center;padding:0 12px 33px}.brand-mark{width:29px;height:29px;border-radius:9px;background:#4e73e9;display:inline-grid;place-items:center;font-size:16px}.brand .muted{color:#87a2d7}.main-nav{display:grid;gap:5px}.nav-item{appearance:none;border:0;background:transparent;color:#afbbd2;text-align:left;padding:11px 13px;border-radius:8px;font:500 14px inherit;display:flex;align-items:center;gap:13px;cursor:pointer}.nav-item:hover{background:#263556;color:#fff}.nav-item.active{background:#354e8d;color:#fff}.nav-item>span{font-size:18px;width:17px;text-align:center}.nav-item b{font-size:11px;background:#e68837;color:#fff;padding:1px 6px;border-radius:10px;margin-left:auto}.sidebar-bottom{margin-top:auto}.team-card{padding:13px 11px;border-top:1px solid #30405e;display:flex;align-items:center;gap:9px;margin:10px 2px}.team-card strong,.team-card small{display:block;font-size:12px}.team-card small{color:#9eacc4;margin-top:2px}.chevron{color:#98a6c0;margin-left:auto}.settings{margin-top:4px}.main-content{width:calc(100% - 244px);margin-left:244px}.topbar{height:90px;border-bottom:1px solid var(--line);padding:18px 42px;display:flex;justify-content:space-between;align-items:center;background:#fff}.topbar h1{font-size:17px;margin:2px 0 0}.topbar #breadcrumb>span{font-size:12px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:16px}.search{height:38px;border:1px solid #e1e6f0;border-radius:8px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 11px;color:#8290a8}.search input{border:0;outline:0;width:188px;font:13px inherit;color:var(--ink)}.wide{width:290px}.wide input{width:100%}.icon-button{border:0;background:transparent;color:#56647c;position:relative;font-size:21px;cursor:pointer}.icon-button i{position:absolute;width:6px;height:6px;border-radius:50%;background:#e76a58;top:1px;right:2px}.avatar{border:0;border-radius:50%;width:33px;height:33px;display:inline-grid;place-items:center;color:#fff;font-weight:600}.avatar.teal{background:#168a81}.avatar.navy{background:#304b8c}.view{display:none;padding:31px 42px 48px;max-width:1640px;margin:auto}.view.active{display:block}.hero-row,.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8994a9;margin:0 0 5px}.hero-row h2,.page-heading h2{font-size:25px;margin:0 0 5px;letter-spacing:-.4px}.subtle{color:var(--muted);margin:0;font-size:13px}.subtle strong{color:#e07632}.primary-button,.secondary-button,.link-button,.period-button{font:600 13px inherit;border-radius:8px;cursor:pointer}.primary-button{background:#3e55cb;border:1px solid #3e55cb;color:#fff;padding:10px 16px;box-shadow:0 5px 10px rgba(62,85,203,.17)}.primary-button:hover{background:#3349ba}.secondary-button{color:#45526a;border:1px solid #dce2ec;background:#fff;padding:9px 13px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:17px}.metric-card,.panel{background:var(--panel);border:1px solid #edf0f5;border-radius:12px;box-shadow:var(--shadow)}.metric-card{min-height:116px;padding:21px;display:flex;gap:14px;align-items:flex-start}.metric-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:20px;font-weight:bold}.metric-icon.indigo{background:#eef0ff;color:#5669dc}.metric-icon.orange{background:#fff2e7;color:#e58a43}.metric-icon.green{background:#e7f8f3;color:#198f78}.metric-icon.blue{background:#ebf5ff;color:#4687d8}.metric-card p{color:#778399;font-size:12px;margin:0 0 3px}.metric-card strong{font:600 24px Outfit,"Noto Sans SC";display:block}.metric-card small{font-size:11px;color:#8590a2}.metric-card em{font-style:normal;color:#198d70}.metric-card .warning{color:#d36854}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:17px}.bottom-grid{margin-top:17px}.panel{padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}.panel-heading h3{font-size:15px;margin:0 0 3px}.panel-heading p{margin:0;color:#8792a6;font-size:12px}.link-button{background:transparent;border:0;color:#5268ca;padding:0}.period-button{border:1px solid #e2e6ee;background:#fff;padding:5px 8px;font-size:11px;color:#67748a}.task-row{padding:13px 0;border-bottom:1px solid #edf0f4;display:flex;align-items:center;gap:11px}.task-row:last-child{border:0}.task-checkbox{width:19px;height:19px;border:1.5px solid #bdc7d9;border-radius:5px;background:#fff;cursor:pointer;flex:none}.task-row.overdue .task-checkbox{border-color:#e27478}.task-main{flex:1}.task-main strong{font-size:13px}.task-main span{font-size:12px;color:#8490a2;margin-left:8px}.task-main small{display:block;margin-top:3px;color:#7f8b9f;font-size:11px}.due-chip,.status-chip,.type-chip,.research-chip{font-size:11px;border-radius:20px;padding:4px 8px;white-space:nowrap}.due-chip.overdue{background:#fff0f1;color:#d85f68}.due-chip.today{background:#fff4e7;color:#d9782a}.due-chip.upcoming{background:#eef2ff;color:#5669d6}.funnel{padding:2px 3px}.funnel-item{display:flex;align-items:center;gap:10px;margin:11px 0}.funnel-label{width:36px;font-size:12px;color:#68758a}.funnel-track{height:22px;flex:1;border-radius:4px;background:#f0f2f7;overflow:hidden}.funnel-fill{height:100%;background:linear-gradient(90deg,#7382e1,#4159cf);border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:7px;color:#fff;font-size:10px;min-width:26px}.funnel-item:nth-child(2) .funnel-fill{background:linear-gradient(90deg,#69aca8,#218881)}.funnel-item:nth-child(3) .funnel-fill{background:linear-gradient(90deg,#edb371,#e48230)}.funnel-item:nth-child(4) .funnel-fill{background:linear-gradient(90deg,#b093d4,#8061ac)}.funnel-num{width:24px;text-align:right;font:600 12px Outfit}.mini-order,.research-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #edf0f4}.mini-order:last-child,.research-row:last-child{border:0}.mini-order .order-bullet{width:32px;height:32px;border-radius:50%;background:#ebf6f4;color:#198a7e;display:grid;place-items:center;font-size:14px;font-weight:bold}.mini-order div,.research-row div{flex:1}.mini-order strong,.research-row strong{display:block;font-size:12px}.mini-order small,.research-row small{color:#8591a5;font-size:11px}.mini-order b{font:600 13px Outfit;color:#1d7f71}.research-row .initial{width:31px;height:31px;background:#f1eefb;color:#7355a2;border-radius:9px;display:grid;place-items:center;font-weight:bold}.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.filter-bar select{height:38px;background:#fff;border:1px solid #e0e5ed;border-radius:8px;padding:0 28px 0 11px;color:#526077;font:13px inherit}.compact{padding:0;margin:0 0 14px}.table-panel{padding:0;overflow:hidden}.table-info{padding:16px 20px 12px;color:#8490a3;font-size:12px}.table-info strong{color:#405169}.table-info span{padding:0 7px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#8792a5;background:#fafbfc;font-size:11px;font-weight:500;padding:12px 20px;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5}td{padding:13px 20px;border-bottom:1px solid #eff1f5;font-size:12px;color:#516077}tbody tr{cursor:pointer}tbody tr:hover{background:#fbfcff}td strong{color:#25324a;display:block;font-size:12px}td small{color:#8b96a9;font-size:11px}.customer-name{display:flex;align-items:center;gap:9px}.customer-avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:bold}.customer-avatar.c1{background:#e8eefc;color:#4962c7}.customer-avatar.c2{background:#e9f8f5;color:#198378}.customer-avatar.c3{background:#fdf0e6;color:#cd7332}.customer-avatar.c4{background:#f4ebfa;color:#8752a6}.status-chip{padding:4px 9px}.status-询盘{background:#eef1ff;color:#5368cf}.status-跟进{background:#edf9f7;color:#218a80}.status-报价{background:#fff5e9;color:#cf7c2d}.status-样品{background:#f3effb;color:#8459ad}.status-订单{background:#e8f6ee;color:#238355}.status-流失{background:#f2f3f5;color:#788395}.research-chip.done{background:#e7f7f2;color:#20846f}.research-chip.pending{background:#fff2e9;color:#c87332}.arrow{color:#8e9aaf;font-size:18px}.tabs{border-bottom:1px solid #e3e7ee;margin-bottom:17px;display:flex;gap:21px}.tab{border:0;background:transparent;color:#78869c;padding:0 0 11px;font:500 13px inherit;cursor:pointer;position:relative}.tab.active{color:#4056ca}.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#4258cc}.tab span{font-size:10px;background:#f0f2f6;border-radius:8px;padding:1px 5px;margin-left:3px}.followup-list{display:grid;gap:11px}.followup-card{background:#fff;border:1px solid #e9edf3;border-radius:11px;box-shadow:var(--shadow);padding:17px 19px;display:flex;align-items:center;gap:15px}.followup-card .big-check{width:22px;height:22px;border-radius:6px;border:1.5px solid #bfc9d9;cursor:pointer}.followup-card.overdue .big-check{border-color:#de7379}.followup-card .followup-main{flex:1}.followup-card h3{font-size:14px;margin:0 0 4px}.followup-card p{margin:0;color:#8290a4;font-size:12px}.followup-card .person{font-size:12px;color:#65738c;min-width:76px}.followup-card .actions{display:flex;gap:8px}.small-button{border:1px solid #dfe4ed;background:#fff;border-radius:7px;padding:6px 9px;color:#526176;font:12px inherit;cursor:pointer}.small-button.primary{background:#445ad2;border-color:#445ad2;color:#fff}.order-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.summary-item{background:#fff;border:1px solid #e9edf3;border-radius:10px;padding:15px 18px}.summary-item p{margin:0 0 4px;color:#7d899e;font-size:12px}.summary-item strong{font:600 20px Outfit}.type-chip{background:#f2f4f8;color:#657087}.type-chip.大货{background:#edf4ff;color:#466fc0}.type-chip.样品{background:#fff3e7;color:#ce7c36}.order-status{font-size:11px;display:inline-flex;gap:5px;align-items:center}.order-status:before{content:"";width:6px;height:6px;border-radius:50%;background:#d7a23b}.order-status.shipped:before,.order-status.completed:before{background:#35a979}.order-status.production:before{background:#596fd6}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.wide-panel{grid-column:span 2}.bar-chart{display:grid;gap:15px;padding:7px 0}.bar-row{display:grid;grid-template-columns:74px 1fr 32px;align-items:center;gap:10px;font-size:12px;color:#67748b}.bar-track{background:#f0f2f6;height:10px;border-radius:8px;overflow:hidden}.bar-fill{height:100%;background:#5970d8;border-radius:8px}.bar-row:nth-child(2) .bar-fill{background:#43a59b}.bar-row:nth-child(3) .bar-fill{background:#e79855}.performance-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;padding:13px 2px;border-bottom:1px solid #edf0f4;font-size:12px}.performance-row:last-child{border:0}.performance-row strong{display:block}.performance-row small{color:#8792a5}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.setting-block{min-height:190px}.setting-block h3{margin:0 0 8px;font-size:15px}.setting-block p{font-size:12px;line-height:1.8;color:#78859a;min-height:55px}.connected{font-size:12px;color:#238570;margin:16px 0}.connected span{background:#e4f6f0;border-radius:50%;padding:1px 4px;margin-right:4px}.drawer,.modal{display:none}.drawer.open,.modal.open{display:block}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:rgba(18,31,56,.36);z-index:10}.drawer-content{position:fixed;right:0;top:0;bottom:0;width:min(560px,92vw);z-index:11;background:#f8f9fc;overflow:auto;padding:29px 27px;box-shadow:-16px 0 40px rgba(21,31,54,.15)}.drawer-close,.modal-close{border:0;background:#edf0f5;border-radius:50%;width:29px;height:29px;font-size:20px;color:#63708a;cursor:pointer;position:absolute;right:22px;top:20px}.drawer-title{margin:0 0 4px;font-size:23px}.drawer-subtitle{color:#7f8ba0;margin:0 0 24px;font-size:12px}.detail-block{background:#fff;border:1px solid #e8edf4;border-radius:10px;padding:17px;margin-bottom:14px}.detail-block h3{font-size:14px;margin:0 0 13px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.detail-grid label{color:#8591a5;font-size:11px}.detail-grid strong,.detail-grid a{display:block;color:#293852;font-size:13px;margin-top:3px;text-decoration:none;overflow-wrap:anywhere}.timeline{border-left:2px solid #e4e8f0;margin:3px 0 0 4px;padding-left:17px}.timeline-item{position:relative;padding-bottom:17px;font-size:12px}.timeline-item:before{content:"";position:absolute;left:-23px;top:3px;width:9px;height:9px;background:#4d63d4;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d7dfea}.timeline-item p{margin:4px 0;color:#69778e;line-height:1.55}.modal-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(610px,92vw);max-height:88vh;overflow:auto;z-index:11;background:#fff;border-radius:14px;padding:28px;box-shadow:0 20px 70px rgba(20,31,53,.25)}.modal-card h2{margin:0 0 5px;font-size:20px}.modal-card>div>p{margin:0 0 20px;color:#7d899d;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label{font-size:12px;color:#57657a;display:grid;gap:6px}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #dce3ed;border-radius:7px;padding:9px 10px;font:13px inherit;color:#283752;outline-color:#5368d6;width:100%;background:#fff}.form-grid textarea{min-height:72px;resize:vertical}.form-grid .full{grid-column:span 2}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.toast{position:fixed;right:28px;bottom:28px;background:#1f3152;color:#fff;padding:11px 15px;border-radius:9px;font-size:13px;box-shadow:0 9px 24px rgba(14,28,55,.2);opacity:0;transform:translateY(12px);transition:.25s;z-index:20}.toast.show{opacity:1;transform:none}@media(max-width:1050px){.sidebar{width:70px;padding:23px 10px}.brand{padding:0 5px 34px}.brand>span:last-child,.nav-item:not(.settings){font-size:0}.nav-item>span{font-size:18px}.nav-item b{display:none}.team-card div,.team-card .chevron,.settings{font-size:0}.team-card{padding:10px 5px}.main-content{margin-left:70px;width:calc(100% - 70px)}.metric-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}.insight-grid{grid-template-columns:1fr}.wide-panel{grid-column:span 1}}@media(max-width:700px){.topbar{padding:15px 20px}.view{padding:24px 20px}.topbar-actions .search{display:none}.hero-row,.page-heading{align-items:flex-start;gap:15px}.hero-row h2,.page-heading h2{font-size:21px}.metric-grid,.order-summary{grid-template-columns:1fr 1fr}.filter-bar{flex-wrap:wrap}.wide{width:100%}.settings-grid{grid-template-columns:1fr}.sidebar{display:none}.main-content{width:100%;margin:0}.detail-grid,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:span 1}}
