html,body,#root{height:100%;margin:0}body{background:#f5f6fa}.page-card{background:#fff;border-radius:10px;padding:16px 20px;box-shadow:0 1px 4px #0000000f}.page-title{font-size:18px;font-weight:600;margin:0 0 14px;display:flex;align-items:center;gap:8px}.rich-editor{border:1px solid #d9d9d9;border-radius:6px;overflow:hidden}.rich-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;background:#fafafa;border-bottom:1px solid #f0f0f0}.rich-toolbar .ant-btn{padding:0 8px}.rich-body{min-height:260px;max-height:520px;overflow:auto;padding:10px 12px;outline:none;line-height:1.6}.rich-body img{max-width:100%;height:auto}.rich-body:empty:before{content:attr(data-placeholder);color:#bfbfbf}.stat-card{background:#fff;border-radius:10px;padding:16px 18px;box-shadow:0 1px 4px #0000000f;position:relative}.stat-card .stat-label{color:#8c8c8c;font-size:13px}.stat-card .stat-value{font-size:22px;font-weight:700;margin-top:4px}.stat-card .stat-sub{color:#8c8c8c;font-size:12px;margin-top:2px}.stat-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:21px;color:#fff}.app-sider{background:#fff!important;box-shadow:1px 0 4px #0f2b5b0d}.brand-block{display:flex;align-items:center;gap:10px;padding:16px 16px 12px}.brand-logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#2f6bff,#5b8cff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;flex:none}.brand-name{font-size:16px;font-weight:700;color:#1f2733;line-height:1.25}.brand-sub{font-size:11px;color:#8c96a6}.app-menu{border-inline-end:none!important;padding:4px 10px;background:transparent!important}.app-menu .ant-menu-item{border-radius:8px;height:40px;line-height:40px;margin:3px 0;color:#3d4657}.app-menu .ant-menu-item:hover{color:#2f54eb}.app-menu .ant-menu-item-selected{background:#e8f1ff!important;color:#2f54eb!important;font-weight:600}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.page-head .ph-title{font-size:20px;font-weight:700;color:#1f2733;line-height:1.3}.page-head .ph-sub{font-size:12px;color:#8c96a6;margin-top:2px}.world-map{width:100%;height:auto;display:block}.world-map .country-path{stroke:#fff;stroke-width:.4px;transition:fill .2s;cursor:pointer}.world-map .country-path:hover{opacity:.85}.map-legend{display:flex;gap:10px;align-items:center;font-size:12px;color:#666;margin-top:4px;flex-wrap:wrap}.map-legend .swatch{width:14px;height:14px;border-radius:3px;display:inline-block}.kanban-col{background:#f7f8fa;border-radius:10px;padding:10px;min-height:400px}.kanban-card{background:#fff;border-radius:8px;padding:10px 12px;margin-bottom:8px;box-shadow:0 1px 3px #00000014;cursor:grab}.kanban-card:hover{box-shadow:0 2px 8px #0000001f}.clickable-row{cursor:pointer}.clickable-row:hover{background:#fafcff}.timeline-item{padding:8px 0;border-bottom:1px dashed #f0f0f0}.timeline-item:last-child{border-bottom:none}.ai-message{margin-bottom:10px}.ai-message .bubble{display:inline-block;padding:8px 12px;border-radius:10px;max-width:85%;white-space:pre-wrap;word-break:break-word}.ai-message.user{text-align:right}.ai-message.user .bubble{background:#1677ff;color:#fff}.ai-message.assistant .bubble{background:#f2f3f5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#bfbfbf}
